tbaeder added inline comments.
================ Comment at: clang/test/Lexer/utf8-char-literal.cpp:54-56 +# if !(u8'\xff' == 0xff) +# error u8 char literal is not unsigned +# endif ---------------- tahonermann wrote: > The C++ case looks good now, but the condition doesn't look right for the C > case. The expectation is that `u8'\xff'` should not match `'\xff'` in C23 > mode, but the test treats this as an error. If the test is passing, that > indicates something is not being validated correctly. Shouldn't unexpected > error diagnostics cause the test to fail? I used `u8'\xff' != 0xff` here because that's the condition you mentioned in the phab review adding the `u8` prefix. Using `u8'\xff' != '\xff'` indeed fails with: ``` clang/test/Lexer/utf8-char-literal.cpp Line 55: u8 char literal is not unsigned clang/test/Lexer/utf8-char-literal.cpp Line 54: right side of operator converted from negative value to unsigned: -1 to 18446744073709551615 ``` CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124996/new/ https://reviews.llvm.org/D124996 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits