From: Richard Smith Date: Mon, 15 Apr 2019 23:55:58 +0000 (+0000) Subject: Simplify diagnosis of misplaced attributes in module-declarations. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a9be1eb7d9e2bde8045ee6c364ef34afaebaa9a5;p=clang Simplify diagnosis of misplaced attributes in module-declarations. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@358463 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Parse/Parser.cpp b/lib/Parse/Parser.cpp index febb0f942e..6b25d6c038 100644 --- a/lib/Parse/Parser.cpp +++ b/lib/Parse/Parser.cpp @@ -2170,8 +2170,8 @@ Parser::DeclGroupPtrTy Parser::ParseModuleDecl(bool IsFirstDecl) { SourceLocation ModuleLoc = ConsumeToken(); // Attributes appear after the module name, not before. - if (Tok.is(tok::l_square)) - CheckProhibitedCXX11Attribute(); + // FIXME: Suggest moving the attributes later with a fixit. + DiagnoseAndSkipCXX11Attributes(); // Parse a global-module-fragment, if present. if (getLangOpts().CPlusPlusModules && Tok.is(tok::semi)) { @@ -2197,8 +2197,7 @@ Parser::DeclGroupPtrTy Parser::ParseModuleDecl(bool IsFirstDecl) { } ConsumeToken(); SourceLocation PrivateLoc = ConsumeToken(); - if (Tok.is(tok::l_square)) - CheckProhibitedCXX11Attribute(); + DiagnoseAndSkipCXX11Attributes(); ExpectAndConsumeSemi(diag::err_private_module_fragment_expected_semi); return Actions.ActOnPrivateModuleFragmentDecl(ModuleLoc, PrivateLoc); }