================ @@ -12210,7 +12220,18 @@ bool Sema::CheckFunctionDeclaration(Scope *S, FunctionDecl *NewFD, return Redeclaration; } -void Sema::CheckMain(FunctionDecl* FD, const DeclSpec& DS) { +void Sema::CheckMain(FunctionDecl *FD, const DeclSpec &DS) { + // [basic.start.main]p3 + // The main function shall not be declared with a linkage-specification. + if (FD->isExternCContext() || + (FD->isExternCXXContext() && + FD->getDeclContext()->getRedeclContext()->isTranslationUnit())) { + Diag(FD->getLocation(), diag::ext_main_invalid_linkage_specification) + << FD->getLanguageLinkage(); + FD->setInvalidDecl(); + return; ---------------- alexfh wrote:
Filed https://github.com/llvm/llvm-project/issues/104570 https://github.com/llvm/llvm-project/pull/101853 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits