[PATCH] D156237: Complete the implementation of P2361 Unevaluated string literals

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 27 06:26:53 PDT 2023


aaron.ballman added a comment.

Can you update the patch description with more details about why these changes are being made in this way (to help people doing code archaeology in the future)?



================
Comment at: clang/include/clang/Basic/DiagnosticCommonKinds.td:60
+          "'external_source_symbol' attribute|"
+          "as argument of '%1' attribute}0">;
+
----------------
This duplicates part of `err_attribute_argument_type`; probably worth it to update that diagnostic so we get consistent diagnostic wording between attributes expecting string literal arguments.


================
Comment at: clang/lib/Parse/ParseDeclCXX.cpp:1029
     }
-
     if (AssertMessage.isInvalid()) {
----------------
Spurious whitespace change is the only change in this file.


================
Comment at: clang/lib/Parse/ParseExpr.cpp:3497-3499
+    } else {
       Expr = ParseAssignmentExpression();
+    }
----------------
Spurious brace changes are the only changes in this file.


================
Comment at: clang/test/Parser/cxx-attributes.cpp:44
 
-[[deprecated([""])]] int WrongArgs; // expected-error {{expected variable name or 'this' in lambda capture list}}
+[[deprecated([""])]] int WrongArgs; // expected-error {{expected string literal as argument of 'deprecated' attribute}}
 [[,,,,,]] int Commas1; // ok
----------------
LOL this is a much better diagnostic than the previous one. :-D


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D156237



More information about the cfe-commits mailing list