tahonermann added inline comments.

================
Comment at: clang/test/SemaCXX/static-assert-cxx26.cpp:304
+static_assert('\u{9}' == (char)1, ""); // expected-error {{failed}} \
+                                       // expected-note {{evaluates to ''\t' 
(0x09, 9) == '<U+0001>' (0x01, 1)'}}
+static_assert((char8_t)-128 == (char8_t)-123, ""); // expected-error 
{{failed}} \
----------------
Is the expected note up to date? I don't see code that would generate the 
`<U+0001>` output. Am I just missing it? Since U+0001 is a valid, though 
non-printable, character, I would expect more `'\u0001'`.


================
Comment at: clang/test/SemaCXX/static-assert.cpp:274-277
+  static_assert((char)10 == '\0', ""); // expected-error {{failed}} \
+                                       // expected-note {{n' (0x0A, 10) == 
'<U+0000>' (0x00, 0)'}}
+  // The note above is intended to match "evaluates to '\n' (0x0A, 10) == 
'<U+0000>' (0x00, 0)'", but if we write it as it is,
+  // the "\n" cannot be consumed by the diagnostic consumer.
----------------
Here too, I find the `'<U+0000>'` presentation surprising; either of `'\0'` or 
`'\u0000'` would be preferred.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D155610/new/

https://reviews.llvm.org/D155610

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to