Instead of generating an error the compiler is crashing. This patch is to fix this issue.
Details
Diff Detail
Event Timeline
clang/lib/Basic/Builtins.cpp | ||
---|---|---|
72 | The existing convention is to mark the builtins with a flag that enables them, see this MS_LANG example. Would that be a reasonable alternative? Maybe one day we will have builtins that don't start with __builtin_coro, so this would be nicer. |
clang/include/clang/Basic/Builtins.h | ||
---|---|---|
40 ↗ | (On Diff #347447) | Can you add a comment as to what the builtin requires? |
clang/lib/Basic/Builtins.cpp | ||
63 | I think this should be using & rather than ==, as with the other cases (don't forget to surround the bitwise AND expression with parens to silence warnings). |
clang/include/clang/Basic/Builtins.h | ||
---|---|---|
40 ↗ | (On Diff #347481) | Sorry, I didn't catch this earlier, but shouldn't this be 0x200? I suspect this will fix the CI failures. |
LGTM, but please wait for a few days in case @rnk or others have a concern. I don't think the CI failures are related to your changes here, btw.
No real feedback, however I note that the bug link you have is one that was resolved in 2009, so I suspect it is completely unrelated.
clang/test/SemaCXX/coroutine-builtins.cpp | ||
---|---|---|
8 | Another nit/idea to make this a little nicer: If you use the 'bookmark' mechanism for the VerifyDiagnosticConsumer these will be much more reliable. Basically you put // #SomeBookmarkName at the end of the line, and then do: // expected-error@#SomeBookMarkName {{... |
clang-tidy: warning: '&&' within '||' [clang-diagnostic-logical-op-parentheses]
not useful