RESOLVED FIXED 184076
[Win] Assertions.h: VC doesn't support GCC extension ##__VA_ARGS__
https://bugs.webkit.org/show_bug.cgi?id=184076
Summary [Win] Assertions.h: VC doesn't support GCC extension ##__VA_ARGS__
Fujii Hironori
Reported 2018-03-28 03:07:07 PDT
[Win] Assertions.h: VC doesn't support GCC extension ##__VA_ARGS__ > ------ Build started: Project: WebKit (WebKit\WebKit), Configuration: Debug x64 ------ > ChildProcess.cpp > c:\webkit\gb\source\webkit\shared\childprocess.cpp(63): error C2059: syntax error: ')' > WebLoaderStrategy.cpp > c:\webkit\gb\source\webkit\webprocess\network\webloaderstrategy.cpp(388): error C2059: syntax error: ')' > WebPage.cpp > c:\webkit\gb\source\webkit\webprocess\webpage\webpage.cpp(2226): error C2059: syntax error: ')' > Done building project "WebKit.vcxproj" -- FAILED. > ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== [GCC] The C Preprocessor: Variadic Macros https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html
Attachments
Patch (4.73 KB, patch)
2018-03-28 03:32 PDT, Fujii Hironori
no flags
Fujii Hironori
Comment 1 2018-03-28 03:32:19 PDT
Keith Rollin
Comment 2 2018-03-28 10:50:45 PDT
How is it that this is not working in VC? We've been building under Windows for years without issue. Why is only Assertions.h affected? ##__VA_ARGS__ is used in many other places in WebKit, too.
Keith Rollin
Comment 3 2018-03-28 12:40:00 PDT
I've verified that the patch builds debug and release versions of Safari and that the expected logging is still emitted.
Fujii Hironori
Comment 4 2018-03-28 15:13:24 PDT
Thank you for reviewing and testing my patch. There are two reasons. The difference between ##__VA_ARGS__ and __VA_ARGS__ is ##__VA_ARGS__ removes a preceding comma if the number of variadic arguments is zero. MSVC treats ##__VA_ARGS__ as same as __VA_ARGS__. Then, there is no problem if the number of variadic arguments is greater than zero. I'm now trying to build WebKit2 for Windows port. Compilation errors of comment#0 are observed only in WebKit2.
WebKit Commit Bot
Comment 5 2018-03-28 16:14:10 PDT
Comment on attachment 336649 [details] Patch Clearing flags on attachment: 336649 Committed r230058: <https://trac.webkit.org/changeset/230058>
WebKit Commit Bot
Comment 6 2018-03-28 16:14:11 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 7 2018-03-28 16:15:25 PDT
Note You need to log in before you can comment on or make changes to this bug.