From 396a5ba51e9e47f818a749ec3f2368e4fea6a67f Mon Sep 17 00:00:00 2001 From: Mital Ashok Date: Wed, 17 Jul 2024 14:08:51 +0100 Subject: [Clang] Add attribute for consteval builtin functions (#91894) Builtins with the new `Consteval` attribute will also be marked `Constexpr` and will only be available in C++20 mode where `consteval` makes sense. --- clang/lib/Basic/Builtins.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'clang/lib/Basic/Builtins.cpp') diff --git a/clang/lib/Basic/Builtins.cpp b/clang/lib/Basic/Builtins.cpp index b116abb..7116e27 100644 --- a/clang/lib/Basic/Builtins.cpp +++ b/clang/lib/Basic/Builtins.cpp @@ -119,6 +119,9 @@ static bool builtinIsSupported(const Builtin::Info &BuiltinInfo, /* CPlusPlus Unsupported */ if (!LangOpts.CPlusPlus && BuiltinInfo.Langs == CXX_LANG) return false; + /* consteval Unsupported */ + if (!LangOpts.CPlusPlus20 && strchr(BuiltinInfo.Attributes, 'G') != nullptr) + return false; return true; } -- cgit v1.1