[clang] 7dd42ec - clang: Exclude efi_main from -Wmissing-prototypes

Daan De Meyer via cfe-commits cfe-commits at lists.llvm.org
Sat Feb 20 12:03:56 PST 2021


Author: Daan De Meyer
Date: 2021-02-20T20:00:50Z
New Revision: 7dd42ecfa2a29bac89c965544c14b32805c8f02b

URL: https://github.com/llvm/llvm-project/commit/7dd42ecfa2a29bac89c965544c14b32805c8f02b
DIFF: https://github.com/llvm/llvm-project/commit/7dd42ecfa2a29bac89c965544c14b32805c8f02b.diff

LOG: clang: Exclude efi_main from -Wmissing-prototypes

When compiling UEFI applications, the main function is named
efi_main() instead of main(). Let's exclude efi_main() from
-Wmissing-prototypes as well to avoid warnings when working
on UEFI applications.

Differential Revision: https://reviews.llvm.org/D95746

Added: 
    

Modified: 
    clang/lib/Sema/SemaDecl.cpp
    clang/test/Sema/no-warn-missing-prototype.c

Removed: 
    


################################################################################
diff  --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index cee107096947..0f5b5332364a 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -13873,7 +13873,7 @@ ShouldWarnAboutMissingPrototype(const FunctionDecl *FD,
   // Don't warn about 'main'.
   if (isa<TranslationUnitDecl>(FD->getDeclContext()->getRedeclContext()))
     if (IdentifierInfo *II = FD->getIdentifier())
-      if (II->isStr("main"))
+      if (II->isStr("main") || II->isStr("efi_main"))
         return false;
 
   // Don't warn about inline functions.

diff  --git a/clang/test/Sema/no-warn-missing-prototype.c b/clang/test/Sema/no-warn-missing-prototype.c
index 4dbc25755922..6059b6aa0f14 100644
--- a/clang/test/Sema/no-warn-missing-prototype.c
+++ b/clang/test/Sema/no-warn-missing-prototype.c
@@ -4,3 +4,7 @@
 int main() {
   return 0;
 }
+
+int efi_main() {
+  return 0;
+}


        


More information about the cfe-commits mailing list