[clang] [Clang] restrict use of attribute names reserved by the C++ standard (PR #106036)

Nikolas Klauser via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 26 02:07:20 PDT 2024


================
@@ -177,6 +177,26 @@ static bool isLanguageDefinedBuiltin(const SourceManager &SourceMgr,
   return false;
 }
 
+static bool isReservedAttrName(Preprocessor &PP, IdentifierInfo *II) {
+  const LangOptions &Lang = PP.getLangOpts();
+  const StringRef Name = II->getName();
+
+  if (Lang.CPlusPlus26)
+    return Name == "indeterminate";
+  if (Lang.CPlusPlus23)
+    return Name == "assume";
----------------
philnik777 wrote:

`Lang.CPlusPlus23` is set when the version is at least C++23.

https://github.com/llvm/llvm-project/pull/106036


More information about the cfe-commits mailing list