[llvm] [TableGen] Detect invalid -D arguments and fail. (PR #102813)
Rahul Joshi via llvm-commits
llvm-commits at lists.llvm.org
Sun Aug 11 15:44:26 PDT 2024
================
@@ -42,6 +42,25 @@ struct {
{ tgtok::Endif, "endif" },
{ tgtok::Define, "define" }
};
+
+// Returns true if `MacroName` is a valid macro name. Valid macro names match
+// the regular expression [a-zA-Z_][0-9a-zA-Z_]* (see prepLexMacroName).
+bool IsValidMacroName(StringRef MacroName) {
+ if (MacroName.size() == 0)
+ return false;
+
+ char First = MacroName[0];
+ if (First != '_' && !isalpha(First))
+ return false;
+
+ // Match the rest of the identifier regex: [0-9a-zA-Z_]*
+ for (char Rest : MacroName.drop_front())
+ if (Rest != '_' && !isalpha(Rest) && !isdigit(Rest))
+ return false;
+
+ return true;
+}
+
} // end anonymous namespace
----------------
jurahul wrote:
Done.
https://github.com/llvm/llvm-project/pull/102813
More information about the llvm-commits
mailing list