[llvm-branch-commits] [llvm] [utils][TableGen] Unify converting names to upper-camel case (PR #141762)
Kajetan Puchalski via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu May 29 08:31:32 PDT 2025
================
@@ -172,26 +197,13 @@ class Directive : public BaseRecord {
// Clang uses a different format for names of its directives enum.
std::string getClangAccSpelling() const {
- std::string Name = Def->getValueAsString("name").str();
+ StringRef Name = Def->getValueAsString("name");
// Clang calls the 'unknown' value 'invalid'.
if (Name == "unknown")
return "Invalid";
- // Clang entries all start with a capital letter, so apply that.
- Name[0] = std::toupper(Name[0]);
- // Additionally, spaces/underscores are handled by capitalizing the next
- // letter of the name and removing the space/underscore.
- for (unsigned I = 0; I < Name.size(); ++I) {
- if (Name[I] == ' ' || Name[I] == '_') {
- Name.erase(I, 1);
- assert(Name[I] != ' ' && Name[I] != '_' &&
- "No double spaces/underscores");
- Name[I] = std::toupper(Name[I]);
- }
- }
-
- return Name;
+ return BaseRecord::getUpperCamelName(Name, " _");
----------------
mrkajetanp wrote:
Ah I see, all good then :)
https://github.com/llvm/llvm-project/pull/141762
More information about the llvm-branch-commits
mailing list