Summary: | Build failure on Snow Leopard i386: implicit conversion warnings | ||
---|---|---|---|
Product: | WebKit | Reporter: | Jeff Johnson <opendarwin> |
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED WONTFIX | ||
Severity: | Normal | CC: | aroben, barraclough, burg, ggaren, mrowe, oliver |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 109834 |
Description
Jeff Johnson
2012-01-17 13:09:31 PST
I built WebKit with GCC_TREAT_WARNINGS_AS_ERRORS=NO and found implicit conversion warnings in a bunch of other files too. Otherwise the build seemed to be fine though. Very few people actively build WebKit with such an old version of Xcode. Patches are welcome to address the issues you run in to though. I found something interesting. If I build i386 with Xcode 4.2 on Snow Leopard instead of Xcode 3.2.6, it succeeds, but I can see in the build transcript that it's using "-Wno-shorten-64-to-32", whereas you can see in my transcript above that it used -Wshorten-64-to-32 with Xcode 3.2.6. I did a search of the WebKit project and found the xcconfig file: https://trac.webkit.org/browser/trunk/Source/JavaScriptCore/Configurations/Base.xcconfig 67 WARNING_CFLAGS_macosx = $(WARNING_CFLAGS_macosx_$(CURRENT_ARCH)); 68 WARNING_CFLAGS_macosx_ = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32; 69 WARNING_CFLAGS_macosx_i386 = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32; 70 WARNING_CFLAGS_macosx_ppc = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32; 71 // FIXME: JavaScriptCore 64-bit builds should build with -Wshorten-64-to-32 72 WARNING_CFLAGS_macosx_ppc64 = $(WARNING_CFLAGS_BASE); 73 WARNING_CFLAGS_macosx_x86_64 = $(WARNING_CFLAGS_BASE); Notice the FIXME comment. If I add -Wshorten-64-to-32 to line 73, then the build fails even with Xcode 4.2. I should note that I usually do build-webkit ONLY_ACTIVE_ARCH=NO ARCHS="i386 x86_64" I don't think any of that is all that interesting. When building 32-bit we've always built with -Wshorten-64-to-32 and we've never built with it enabled for 64-bit. I think the difference you're seeing between Xcode 3.2.6 and Xcode 4.2 is actually the difference between building for i386 and x86_64. Ok, you're right, I saw the -Wno-shorten-64-to-32 in the transcript for x86_64 and also for i386, but I didn't notice the second -Wshorten-64-to-32 for i386 that overrides the first. There are probably way too many warnings here to fix in patches. |