RESOLVED FIXED 235573
[WTF] Make CRASH_WITH_INFO more useful when using GCC
https://bugs.webkit.org/show_bug.cgi?id=235573
Summary [WTF] Make CRASH_WITH_INFO more useful when using GCC
Adrian Perez
Reported 2022-01-25 04:23:27 PST
As per the comment in wtf/Assertions.h: // GCC does not allow ##__VA_ARGS__ unless GNU extensions are enabled (--std=gnu++NN instead of // --std=c++NN) and I think we don't want that, so we'll have a fallback path for GCC. Obviously // this will not actually succeed at getting the desired info into registers before crashing, but // it's just a fallback anyway. // // FIXME: When we enable C++20, we should replace ##__VA_ARGS__ with format __VA_OPT__(,) __VA_ARGS__ // so that we can remove this fallback. Nowadays we are passing -std=c++20 to the compiler, so we can use __VA_OPT__ and remove the FIXME.
Attachments
Patch (2.67 KB, patch)
2022-01-25 04:29 PST, Adrian Perez
ews-feeder: commit-queue-
Patch v2 (3.01 KB, patch)
2022-01-25 07:57 PST, Adrian Perez
no flags
Adrian Perez
Comment 1 2022-01-25 04:29:04 PST
Michael Catanzaro
Comment 2 2022-01-25 07:26:59 PST
Comment on attachment 449917 [details] Patch WinCairo and Windows EWS are red. Maybe we need to wait for Visual Studio 2022?
Adrian Perez
Comment 3 2022-01-25 07:48:03 PST
(In reply to Michael Catanzaro from comment #2) > Comment on attachment 449917 [details] > Patch > > WinCairo and Windows EWS are red. Maybe we need to wait for Visual Studio > 2022? Probably, but we can keep using ##__VA_ARGS__ with MSVC, and go with __VA_OPT__(,) __VA_ARGS__ for GCC/Clang. I'm going to update the patch to try that.
Adrian Perez
Comment 4 2022-01-25 07:57:13 PST
Created attachment 449930 [details] Patch v2
EWS
Comment 5 2022-01-25 13:10:50 PST
Committed r288577 (246400@main): <https://commits.webkit.org/246400@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 449930 [details].
Radar WebKit Bug Importer
Comment 6 2022-01-25 13:11:19 PST
Note You need to log in before you can comment on or make changes to this bug.