Source/JavaScriptCore/ChangeLog

 12015-10-27 Csaba Osztrogonác <ossy@webkit.org>
 2
 3 [FTL] Fix the build with LLVM 3.7
 4 https://bugs.webkit.org/show_bug.cgi?id=150595
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 * llvm/LLVMAPI.h:
 9 * llvm/LLVMAPIFunctions.h:
 10 * llvm/library/LLVMExports.cpp:
 11 (initializeAndGetJSCLLVMAPI):
 12
1132015-10-24 Brian Burg <bburg@apple.com>
214
315 Teach create_hash_table to omit builtins macros when generating tables for native-only objects

Source/JavaScriptCore/llvm/LLVMAPI.h

@@struct LLVMAPI {
4141
4242 // Functions that we add conditionally.
4343 void (*AddLowerSwitchPass)(LLVMPassManagerRef PM);
 44
 45 // LLVMBuildLandingPad has different prototype with LLVM 3.7 and prior versions.
 46#if LLVM_VERSION_MAJOR >= 4 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 7)
 47 LLVMValueRef (*BuildLandingPad)(LLVMBuilderRef B, LLVMTypeRef Ty, unsigned NumClauses, const char *Name);
 48#else
 49 LLVMValueRef (*BuildLandingPad)(LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef PersFn, unsigned NumClauses, const char *Name);
 50#endif
4451};
4552
4653extern LLVMAPI* llvm;

Source/JavaScriptCore/llvm/LLVMAPIFunctions.h

412412 macro(LLVMValueRef, BuildSwitch, (LLVMBuilderRef, LLVMValueRef V, LLVMBasicBlockRef Else, unsigned NumCases)) \
413413 macro(LLVMValueRef, BuildIndirectBr, (LLVMBuilderRef B, LLVMValueRef Addr, unsigned NumDests)) \
414414 macro(LLVMValueRef, BuildInvoke, (LLVMBuilderRef, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, const char *Name)) \
415  macro(LLVMValueRef, BuildLandingPad, (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef PersFn, unsigned NumClauses, const char *Name)) \
416415 macro(LLVMValueRef, BuildResume, (LLVMBuilderRef B, LLVMValueRef Exn)) \
417416 macro(LLVMValueRef, BuildUnreachable, (LLVMBuilderRef)) \
418417 macro(void, AddCase, (LLVMValueRef Switch, LLVMValueRef OnVal, LLVMBasicBlockRef Dest)) \

Source/JavaScriptCore/llvm/library/LLVMExports.cpp

@@extern "C" JSC::LLVMAPI* initializeAndGetJSCLLVMAPI(
136136#if LLVM_VERSION_MAJOR >= 4 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 6)
137137 result->AddLowerSwitchPass = LLVMAddLowerSwitchPass;
138138#endif
139 
 139
 140 // Add LLVMBuildLandingPad manually, because it has different prototype with LLVM 3.7 and prior versions.
 141 result->BuildLandingPad = LLVMBuildLandingPad;
 142
140143 return result;
141144}
142145