https://github.com/vinay-deshmukh updated https://github.com/llvm/llvm-project/pull/129979
>From e9c7869550d9fd1eba4d4d42ee644540e6b6d445 Mon Sep 17 00:00:00 2001 From: Vinay Deshmukh <32487576+vinay-deshm...@users.noreply.github.com> Date: Tue, 4 Mar 2025 22:30:34 -0500 Subject: [PATCH 1/4] add failing test --- clang/test/C/drs/c89_with_c99_functions.c | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 clang/test/C/drs/c89_with_c99_functions.c diff --git a/clang/test/C/drs/c89_with_c99_functions.c b/clang/test/C/drs/c89_with_c99_functions.c new file mode 100644 index 0000000000000..d848727001562 --- /dev/null +++ b/clang/test/C/drs/c89_with_c99_functions.c @@ -0,0 +1,7 @@ +// RUN: %clang_cc1 -std=c89 -verify %s + +// From: https://github.com/llvm/llvm-project/issues/15522#issue-1071059939 +int logf = 5; +int main() { +return logf; +} >From 966aa6a735722063d7ea9727e36136f4f39c3d88 Mon Sep 17 00:00:00 2001 From: Vinay Deshmukh <32487576+vinay-deshm...@users.noreply.github.com> Date: Wed, 5 Mar 2025 22:09:02 -0500 Subject: [PATCH 2/4] Update test to `expect-no-diagnostics` --- clang/test/C/drs/c89_with_c99_functions.c | 1 + 1 file changed, 1 insertion(+) diff --git a/clang/test/C/drs/c89_with_c99_functions.c b/clang/test/C/drs/c89_with_c99_functions.c index d848727001562..de525313fbba5 100644 --- a/clang/test/C/drs/c89_with_c99_functions.c +++ b/clang/test/C/drs/c89_with_c99_functions.c @@ -1,4 +1,5 @@ // RUN: %clang_cc1 -std=c89 -verify %s +// expected-no-diagnostics // From: https://github.com/llvm/llvm-project/issues/15522#issue-1071059939 int logf = 5; >From 28c58718d76be9c62635cdeffebc9d812b192e50 Mon Sep 17 00:00:00 2001 From: Vinay Deshmukh <32487576+vinay-deshm...@users.noreply.github.com> Date: Wed, 5 Mar 2025 22:13:50 -0500 Subject: [PATCH 3/4] Add exclusion for C89 / math.h functions --- clang/lib/Basic/Builtins.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/clang/lib/Basic/Builtins.cpp b/clang/lib/Basic/Builtins.cpp index e7829a461bbc5..cfcbefdce2a24 100644 --- a/clang/lib/Basic/Builtins.cpp +++ b/clang/lib/Basic/Builtins.cpp @@ -14,6 +14,7 @@ #include "BuiltinTargetFeatures.h" #include "clang/Basic/IdentifierTable.h" #include "clang/Basic/LangOptions.h" +#include "clang/Basic/LangStandard.h" #include "clang/Basic/TargetInfo.h" #include "llvm/ADT/StringRef.h" using namespace clang; @@ -148,7 +149,7 @@ static bool builtinIsSupported(const llvm::StringTable &Strings, if (!LangOpts.Coroutines && (BuiltinInfo.Langs & COR_LANG)) return false; /* MathBuiltins Unsupported */ - if (LangOpts.NoMathBuiltin && BuiltinInfo.Header.ID == HeaderDesc::MATH_H) + if ((LangOpts.NoMathBuiltin || /*C89*/ LangOpts.LangStd == LangStandard::lang_c89)&& BuiltinInfo.Header.ID == HeaderDesc::MATH_H) return false; /* GnuMode Unsupported */ if (!LangOpts.GNUMode && (BuiltinInfo.Langs & GNU_LANG)) >From 6e790580b3859cd68ca6ea87c1601979047310ab Mon Sep 17 00:00:00 2001 From: Vinay Deshmukh <32487576+vinay-deshm...@users.noreply.github.com> Date: Wed, 5 Mar 2025 22:25:07 -0500 Subject: [PATCH 4/4] clang-format --- clang/lib/Basic/Builtins.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/clang/lib/Basic/Builtins.cpp b/clang/lib/Basic/Builtins.cpp index cfcbefdce2a24..81f85bb5454e4 100644 --- a/clang/lib/Basic/Builtins.cpp +++ b/clang/lib/Basic/Builtins.cpp @@ -149,7 +149,9 @@ static bool builtinIsSupported(const llvm::StringTable &Strings, if (!LangOpts.Coroutines && (BuiltinInfo.Langs & COR_LANG)) return false; /* MathBuiltins Unsupported */ - if ((LangOpts.NoMathBuiltin || /*C89*/ LangOpts.LangStd == LangStandard::lang_c89)&& BuiltinInfo.Header.ID == HeaderDesc::MATH_H) + if ((LangOpts.NoMathBuiltin || + /*C89*/ LangOpts.LangStd == LangStandard::lang_c89) && + BuiltinInfo.Header.ID == HeaderDesc::MATH_H) return false; /* GnuMode Unsupported */ if (!LangOpts.GNUMode && (BuiltinInfo.Langs & GNU_LANG)) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits