[PATCH] D111175: [Clang] Extend init-statement to allow alias-declaration
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Oct 7 11:29:57 PDT 2021
aaron.ballman added a comment.
Just nits from me, but otherwise LGTM!
================
Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:556
+def warn_cxx20_alias_in_init_statement : Warning<
+ "alias declaration in this context is incompatible with C++ standards before C++23">,
+ DefaultIgnore, InGroup<CXXPre2bCompat>;
----------------
================
Comment at: clang/include/clang/Parse/Parser.h:1982
+ ParseAliasDeclarationInInitStatement(DeclaratorContext Context,
+ ParsedAttributesWithRange &attrs);
----------------
================
Comment at: clang/lib/Parse/ParseExprCXX.cpp:1915
+Parser::ParseAliasDeclarationInInitStatement(DeclaratorContext Context,
+ ParsedAttributesWithRange &attrs) {
+ assert(Tok.is(tok::kw_using) && "Expected using");
----------------
================
Comment at: clang/test/Parser/cxx2b-init-statement.cpp:19
+
+ if (using enum ns::e; false){} // expected-error {{expected '='}}
+
----------------
erichkeane wrote:
> Is there any way to have this elaborate more? The 'expected 'TOKEN'' is my least favorite type of error. Could we change this to be something like, 'expected '=' in type alias' or something?
FWIW, I'm fine with the diagnostic as-is because I don't expect anyone to actually *use* this functionality, so I don't expect a ton of users to hit this. I'd say it's fine to address when a user files a bug showing some code where the diagnostic is unclear.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111175/new/
https://reviews.llvm.org/D111175
More information about the cfe-commits
mailing list