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

Reply via email to