llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: Max Winkler (MaxEW707) <details> <summary>Changes</summary> Fixes https://github.com/llvm/llvm-project/issues/94366. --- Full diff: https://github.com/llvm/llvm-project/pull/98105.diff 2 Files Affected: - (modified) clang/lib/Sema/SemaDecl.cpp (+3) - (modified) clang/test/Sema/no-warn-missing-prototype.c (+19) ``````````diff diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index b3bfdacb01790..b4d8d653616b1 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -15214,6 +15214,9 @@ ShouldWarnAboutMissingPrototype(const FunctionDecl *FD, if (II->isStr("main") || II->isStr("efi_main")) return false; + if (FD->isMSVCRTEntryPoint()) + return false; + // Don't warn about inline functions. if (FD->isInlined()) return false; diff --git a/clang/test/Sema/no-warn-missing-prototype.c b/clang/test/Sema/no-warn-missing-prototype.c index 6059b6aa0f146..1b6e8f059fc45 100644 --- a/clang/test/Sema/no-warn-missing-prototype.c +++ b/clang/test/Sema/no-warn-missing-prototype.c @@ -1,5 +1,6 @@ // RUN: %clang_cc1 -fsyntax-only -Wmissing-prototypes -x c -ffreestanding -verify %s // RUN: %clang_cc1 -fsyntax-only -Wmissing-prototypes -x c++ -ffreestanding -verify %s +// RUN: %clang_cc1 -fms-compatibility -fsyntax-only -x c++ -ffreestanding -triple=x86_64-pc-win32 -verify -DMS %s // expected-no-diagnostics int main() { return 0; @@ -8,3 +9,21 @@ int main() { int efi_main() { return 0; } + +#ifdef MS +int wmain(int, wchar_t *[], wchar_t *[]) { + return 0; +} + +int wWinMain(void*, void*, wchar_t*, int) { + return 0; +} + +int WinMain(void*, void*, char*, int) { + return 0; +} + +bool DllMain(void*, unsigned, void* { + return true; +} +#endif `````````` </details> https://github.com/llvm/llvm-project/pull/98105 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits