@@ -44,7 +44,7 @@ class OptTable {
4444 // / A null terminated array of prefix strings to apply to name while
4545 // / matching.
4646 const char *const *Prefixes;
47- const char *Name ;
47+ StringLiteral PrefixedName ;
4848 const char *HelpText;
4949 const char *MetaVar;
5050 unsigned ID;
@@ -55,6 +55,11 @@ class OptTable {
5555 unsigned short AliasID;
5656 const char *AliasArgs;
5757 const char *Values;
58+
59+ StringRef getName () const {
60+ unsigned PrefixLength = !Prefixes ? 0 : StringRef (Prefixes[0 ]).size ();
61+ return PrefixedName.drop_front (PrefixLength);
62+ }
5863 };
5964
6065private:
@@ -103,7 +108,7 @@ class OptTable {
103108
104109 // / Lookup the name of the given option.
105110 const char *getOptionName (OptSpecifier id) const {
106- return getInfo (id).Name ;
111+ return getInfo (id).getName (). data () ;
107112 }
108113
109114 // / Get the kind of the given option.
@@ -262,32 +267,33 @@ class OptTable {
262267
263268} // end namespace llvm
264269
265- #define LLVM_MAKE_OPT_ID_WITH_ID_PREFIX (ID_PREFIX, PREFIX, NAME , ID, KIND, \
266- GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
267- HELPTEXT, METAVAR, VALUES) \
270+ #define LLVM_MAKE_OPT_ID_WITH_ID_PREFIX (ID_PREFIX, PREFIX, PREFIXED_NAME , ID, \
271+ KIND, GROUP, ALIAS, ALIASARGS, FLAGS, \
272+ PARAM, HELPTEXT, METAVAR, VALUES) \
268273 ID_PREFIX##ID
269274
270- #define LLVM_MAKE_OPT_ID (PREFIX, NAME , ID, KIND, GROUP, ALIAS, ALIASARGS, \
271- FLAGS, PARAM, HELPTEXT, METAVAR, VALUES) \
272- LLVM_MAKE_OPT_ID_WITH_ID_PREFIX (OPT_, PREFIX, NAME , ID, KIND, GROUP, ALIAS, \
273- ALIASARGS, FLAGS, PARAM, HELPTEXT, METAVAR, \
274- VALUE)
275+ #define LLVM_MAKE_OPT_ID (PREFIX, PREFIXED_NAME , ID, KIND, GROUP, ALIAS, \
276+ ALIASARGS, FLAGS, PARAM, HELPTEXT, METAVAR, VALUES) \
277+ LLVM_MAKE_OPT_ID_WITH_ID_PREFIX (OPT_, PREFIX, PREFIXED_NAME , ID, KIND, \
278+ GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
279+ HELPTEXT, METAVAR, VALUE)
275280
276281#define LLVM_CONSTRUCT_OPT_INFO_WITH_ID_PREFIX ( \
277- ID_PREFIX, PREFIX, NAME , ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
278- HELPTEXT, METAVAR, VALUES) \
282+ ID_PREFIX, PREFIX, PREFIXED_NAME , ID, KIND, GROUP, ALIAS, ALIASARGS, \
283+ FLAGS, PARAM, HELPTEXT, METAVAR, VALUES) \
279284 llvm::opt::OptTable::Info { \
280- ID_PREFIX##PREFIX, NAME , HELPTEXT, METAVAR, ID_PREFIX##ID, \
285+ ID_PREFIX##PREFIX, PREFIXED_NAME , HELPTEXT, METAVAR, ID_PREFIX##ID, \
281286 llvm::opt::Option::KIND##Class, PARAM, FLAGS, ID_PREFIX##GROUP, \
282287 ID_PREFIX##ALIAS, ALIASARGS, VALUES \
283288 }
284289
285- #define LLVM_CONSTRUCT_OPT_INFO (PREFIX, NAME , ID, KIND, GROUP, ALIAS, \
290+ #define LLVM_CONSTRUCT_OPT_INFO (PREFIX, PREFIXED_NAME , ID, KIND, GROUP, ALIAS, \
286291 ALIASARGS, FLAGS, PARAM, HELPTEXT, METAVAR, \
287292 VALUES) \
288293 llvm::opt::OptTable::Info { \
289- PREFIX, NAME, HELPTEXT, METAVAR, OPT_##ID, llvm::opt::Option::KIND##Class, \
290- PARAM, FLAGS, OPT_##GROUP, OPT_##ALIAS, ALIASARGS, VALUES \
294+ PREFIX, PREFIXED_NAME, HELPTEXT, METAVAR, OPT_##ID, \
295+ llvm::opt::Option::KIND##Class, PARAM, FLAGS, OPT_##GROUP, \
296+ OPT_##ALIAS, ALIASARGS, VALUES \
291297 }
292298
293299#endif // LLVM_OPTION_OPTTABLE_H
0 commit comments