diff options
author | Ashwin Banwari <ashwinkbanwari@gmail.com> | 2025-07-01 18:52:10 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-02 09:52:10 +0800 |
commit | 2599a9aeb543f01cb20e3fdc2713aa8c8cb20fbf (patch) | |
tree | 30524bb486a93595f7011513d852bc0edbe26ca1 /clang/lib | |
parent | 3deed4211a46632a25b1b558b357273a5ce4ee96 (diff) | |
download | llvm-2599a9aeb543f01cb20e3fdc2713aa8c8cb20fbf.zip llvm-2599a9aeb543f01cb20e3fdc2713aa8c8cb20fbf.tar.gz llvm-2599a9aeb543f01cb20e3fdc2713aa8c8cb20fbf.tar.bz2 |
[clang] [modules] Implement P3618R0: Allow attaching main to the global module (#146461)
Remove the prior warning for attaching extern "C++" to main.
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index a34e2c9..61b82b8 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -12400,12 +12400,9 @@ bool Sema::CheckFunctionDeclaration(Scope *S, FunctionDecl *NewFD, 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(); + // The main function shall not be declared with C linkage-specification. + if (FD->isExternCContext()) + Diag(FD->getLocation(), diag::ext_main_invalid_linkage_specification); // C++11 [basic.start.main]p3: // A program that [...] declares main to be inline, static or |