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); }