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.
Created attachment 449917 [details] Patch
Comment on attachment 449917 [details] Patch WinCairo and Windows EWS are red. Maybe we need to wait for Visual Studio 2022?
(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.
Created attachment 449930 [details] Patch v2
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].
<rdar://problem/88040547>