From 728780bfadfeae6dd9b7124d490be7d9f6c33de6 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Mon, 15 Apr 2019 23:55:58 +0000 Subject: [PATCH] Simplify diagnosis of misplaced attributes in module-declarations. No functional change intended. llvm-svn: 358463 --- clang/lib/Parse/Parser.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/clang/lib/Parse/Parser.cpp b/clang/lib/Parse/Parser.cpp index febb0f942e8e..6b25d6c038be 100644 --- a/clang/lib/Parse/Parser.cpp +++ b/clang/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); }