Bug 150595 - [FTL] Fix the build with LLVM 3.7
Summary: [FTL] Fix the build with LLVM 3.7
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Csaba Osztrogonác
URL:
Keywords:
Depends on:
Blocks: 142128 143605
  Show dependency treegraph
 
Reported: 2015-10-27 11:56 PDT by Csaba Osztrogonác
Modified: 2015-11-09 10:37 PST (History)
3 users (show)

See Also:


Attachments
Patch (1.85 KB, patch)
2015-10-27 12:02 PDT, Csaba Osztrogonác
no flags Details | Formatted Diff | Diff
Patch (3.43 KB, patch)
2015-10-27 12:29 PDT, Csaba Osztrogonác
no flags Details | Formatted Diff | Diff
Patch (3.43 KB, patch)
2015-10-28 02:52 PDT, Csaba Osztrogonác
no flags Details | Formatted Diff | Diff
Patch (1.73 KB, patch)
2015-11-09 03:03 PST, Csaba Osztrogonác
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Csaba Osztrogonác 2015-10-27 11:56:32 PDT
build error:

../../Source/JavaScriptCore/llvm/library/LLVMExports.cpp: In function 'JSC::LLVMAPI* initializeAndGetJSCLLVMAPI(void (*)(const char*, ...) volatile, bool*)':
../../Source/JavaScriptCore/llvm/library/LLVMExports.cpp:132:17496: error: invalid conversion from 'LLVMOpaqueValue* (*)(LLVMBuilderRef, LLVMTypeRef, unsigned int, const char*) {aka LLVMOpaqueValue* (*)(LLVMOpaqueBuilder*, LLVMOpaqueType*, unsigned int, const char*)}' to 'LLVMOpaqueValue* (*)(LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, unsigned int, const char*) {aka LLVMOpaqueValue* (*)(LLVMOpaqueBuilder*, LLVMOpaqueType*, LLVMOpaqueValue*, unsigned int, const char*)}' [-fpermissive]
Comment 1 Csaba Osztrogonác 2015-10-27 12:02:04 PDT
Created attachment 264147 [details]
Patch

WIP patch, it fixed the build with LLVM 3.7, but we need a fix works with 3.6 and 3.7 too.
Comment 2 Csaba Osztrogonác 2015-10-27 12:29:56 PDT
Created attachment 264150 [details]
Patch
Comment 3 Csaba Osztrogonác 2015-10-28 02:52:56 PDT
Created attachment 264204 [details]
Patch

EFL EWS was flakey, let's see again.
Comment 4 Darin Adler 2015-10-31 11:01:00 PDT
Comment on attachment 264204 [details]
Patch

I think Filip should review this.
Comment 5 Csaba Osztrogonác 2015-11-05 01:24:50 PST
(In reply to comment #4)
> Comment on attachment 264204 [details]
> Patch
> 
> I think Filip should review this.

Filip, could you possibly check it?
Comment 6 Csaba Osztrogonác 2015-11-06 22:43:53 PST
Ping?
Comment 7 Filip Pizlo 2015-11-07 08:41:17 PST
Comment on attachment 264204 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=264204&action=review

> Source/JavaScriptCore/llvm/LLVMAPI.h:50
> +
> +    // LLVMBuildLandingPad has different prototype with LLVM 3.7 and prior versions.
> +#if LLVM_VERSION_MAJOR >= 4 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 7)
> +    LLVMValueRef (*BuildLandingPad)(LLVMBuilderRef B, LLVMTypeRef Ty, unsigned NumClauses, const char *Name);
> +#else
> +    LLVMValueRef (*BuildLandingPad)(LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef PersFn, unsigned NumClauses, const char *Name);
> +#endif

Let's just remove this function instead.  We don't call it, and it's a mistake for it to be in the API struct.
Comment 8 Csaba Osztrogonác 2015-11-09 03:03:18 PST
Created attachment 265037 [details]
Patch

OK, let's remove it. Should we do a general cleanup for other functions too, or just leave them unchaged until we run into any issue?
Comment 9 Filip Pizlo 2015-11-09 09:55:06 PST
(In reply to comment #8)
> Created attachment 265037 [details]
> Patch
> 
> OK, let's remove it. Should we do a general cleanup for other functions too,
> or just leave them unchaged until we run into any issue?

Yes, I think that would be very useful!
Comment 10 WebKit Commit Bot 2015-11-09 10:36:59 PST
Comment on attachment 265037 [details]
Patch

Clearing flags on attachment: 265037

Committed r192164: <http://trac.webkit.org/changeset/192164>
Comment 11 WebKit Commit Bot 2015-11-09 10:37:04 PST
All reviewed patches have been landed.  Closing bug.