================
@@ -525,13 +519,12 @@ Bug Fixes in This Version
 - Clang now emits an error for friend declarations of lambda members. 
(#GH26540)
 - Fixed a crash caused by lambda capture handling in delayed default 
arguments. (#GH176534)
 - Fixed a crash when parsing invalid ``static_assert`` declarations with 
string-literal messages (#GH187690).
+- Fixed an assert/crash in ``__builtin_va_arg`` when the argument type is an 
enum without a correspoding signed type (#GH191698).
----------------
DavidSpickett wrote:

I haven't reproduced the bug myself but I think users would think of this 
purely as a crash so you can say "a crash" rather than "assert/crash". You're 
not wrong to say that but most people won't care that the assert was the cause.

Fix the spelling of:
correspoding -> corresponding

Can you explain a bit more what corresponding means here?

Does it mean that the crash happened when you have an enum with a underlying 
type that doesn't have an equivalent signed type?

So looking at the test case, I see `char16_t` and I assume there is no 
`char16_signed_t`.

In which case I would expand the wording a bit:
> when the argument type is an enum whose underlying type does not have a 
> corresponding signed type

I haven't read the standards but I think the type of the enum is the enum 
itself, then there's the underlying type and the underlying type is the key 
here.

https://github.com/llvm/llvm-project/pull/195945
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to