rjmccall added inline comments.

================
Comment at: include/clang/AST/Type.h:6705
+/// Insertion operator for diagnostics. This allows sending Qualifiers' into a
+/// diagnostic with <<.
+inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
----------------
Unpaired apostrophe, here and below.


================
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:1812
   "|: different qualifiers ("
-  "%select{none|const|restrict|const and restrict|volatile|const and volatile|"
-  "volatile and restrict|const, volatile, and restrict}5 vs "
-  "%select{none|const|restrict|const and restrict|volatile|const and volatile|"
-  "volatile and restrict|const, volatile, and restrict}6)"
+  "%5 vs %6)"
   "|: different exception specifications}4">;
----------------
The line break is no longer necessary.


================
Comment at: test/SemaCXX/addr-of-overloaded-function.cpp:224
     void (Qualifiers::*X)();
-    X = &Qualifiers::C; // expected-error-re {{assigning to 'void 
(test1::Qualifiers::*)(){{( __attribute__\(\(thiscall\)\))?}}' from 
incompatible type 'void (test1::Qualifiers::*)(){{( 
__attribute__\(\(thiscall\)\))?}} const': different qualifiers (none vs const)}}
-    X = &Qualifiers::V; // expected-error-re{{assigning to 'void 
(test1::Qualifiers::*)(){{( __attribute__\(\(thiscall\)\))?}}' from 
incompatible type 'void (test1::Qualifiers::*)(){{( 
__attribute__\(\(thiscall\)\))?}} volatile': different qualifiers (none vs 
volatile)}}
-    X = &Qualifiers::R; // expected-error-re{{assigning to 'void 
(test1::Qualifiers::*)(){{( __attribute__\(\(thiscall\)\))?}}' from 
incompatible type 'void (test1::Qualifiers::*)(){{( 
__attribute__\(\(thiscall\)\))?}} __restrict': different qualifiers (none vs 
restrict)}}
-    X = &Qualifiers::CV; // expected-error-re{{assigning to 'void 
(test1::Qualifiers::*)(){{( __attribute__\(\(thiscall\)\))?}}' from 
incompatible type 'void (test1::Qualifiers::*)(){{( 
__attribute__\(\(thiscall\)\))?}} const volatile': different qualifiers (none 
vs const and volatile)}}
-    X = &Qualifiers::CR; // expected-error-re{{assigning to 'void 
(test1::Qualifiers::*)(){{( __attribute__\(\(thiscall\)\))?}}' from 
incompatible type 'void (test1::Qualifiers::*)(){{( 
__attribute__\(\(thiscall\)\))?}} const __restrict': different qualifiers (none 
vs const and restrict)}}
-    X = &Qualifiers::VR; // expected-error-re{{assigning to 'void 
(test1::Qualifiers::*)(){{( __attribute__\(\(thiscall\)\))?}}' from 
incompatible type 'void (test1::Qualifiers::*)(){{( 
__attribute__\(\(thiscall\)\))?}} volatile __restrict': different qualifiers 
(none vs volatile and restrict)}}
-    X = &Qualifiers::CVR; // expected-error-re{{assigning to 'void 
(test1::Qualifiers::*)(){{( __attribute__\(\(thiscall\)\))?}}' from 
incompatible type 'void (test1::Qualifiers::*)(){{( 
__attribute__\(\(thiscall\)\))?}} const volatile __restrict': different 
qualifiers (none vs const, volatile, and restrict)}}
+    X = &Qualifiers::C; // expected-error-re {{assigning to 'void 
(test1::Qualifiers::*)(){{( __attribute__\(\(thiscall\)\))?}}' from 
incompatible type 'void (test1::Qualifiers::*)(){{( 
__attribute__\(\(thiscall\)\))?}} const': different qualifiers ('' vs 'const')}}
+    X = &Qualifiers::V; // expected-error-re{{assigning to 'void 
(test1::Qualifiers::*)(){{( __attribute__\(\(thiscall\)\))?}}' from 
incompatible type 'void (test1::Qualifiers::*)(){{( 
__attribute__\(\(thiscall\)\))?}} volatile': different qualifiers ('' vs 
'volatile')}}
----------------
Hmm.  I think `''` is acceptable for the unqualified case in this diagnostic 
because at least one of the operands has to be non-empty, but it might be 
better overall to say something like `unqualified` (not in quotes, of course).

I like the general effect of this, though; this is definitely a more readable 
diagnostic in the complex cases than it used to be.


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

https://reviews.llvm.org/D56198



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

Reply via email to