diff options
author | serge-sans-paille <sguelton@mozilla.com> | 2022-12-23 11:36:56 +0100 |
---|---|---|
committer | serge-sans-paille <sguelton@mozilla.com> | 2022-12-23 11:36:56 +0100 |
commit | b7065a31b5e7e0bbdae1cbb6cd06fcfe05b7758f (patch) | |
tree | 9059fcc00424d7b8bbdf317a777620d0fee08e8c /llvm/tools | |
parent | 719d98dfa841c522d8d452f0685e503538415a53 (diff) | |
download | llvm-b7065a31b5e7e0bbdae1cbb6cd06fcfe05b7758f.zip llvm-b7065a31b5e7e0bbdae1cbb6cd06fcfe05b7758f.tar.gz llvm-b7065a31b5e7e0bbdae1cbb6cd06fcfe05b7758f.tar.bz2 |
Revert "[clang] Use a StringRef instead of a raw char pointer to store builtin and call information"
Failing builds: https://lab.llvm.org/buildbot#builders/9/builds/19030
This is GCC specific and has been reported upstream: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108158
This reverts commit 719d98dfa841c522d8d452f0685e503538415a53.
Diffstat (limited to 'llvm/tools')
-rw-r--r-- | llvm/tools/dsymutil/dsymutil.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-cvtres/llvm-cvtres.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-ifs/llvm-ifs.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-lipo/llvm-lipo.cpp | 19 | ||||
-rw-r--r-- | llvm/tools/llvm-ml/llvm-ml.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-mt/llvm-mt.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-nm/llvm-nm.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-objcopy/ObjcopyOptions.cpp | 70 | ||||
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.cpp | 40 | ||||
-rw-r--r-- | llvm/tools/llvm-rc/llvm-rc.cpp | 28 | ||||
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-size/llvm-size.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-strings/llvm-strings.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | 5 | ||||
-rw-r--r-- | llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp | 5 |
17 files changed, 95 insertions, 127 deletions
diff --git a/llvm/tools/dsymutil/dsymutil.cpp b/llvm/tools/dsymutil/dsymutil.cpp index 7c4e3d9..5ed3b2b 100644 --- a/llvm/tools/dsymutil/dsymutil.cpp +++ b/llvm/tools/dsymutil/dsymutil.cpp @@ -63,12 +63,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Options.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ diff --git a/llvm/tools/llvm-cvtres/llvm-cvtres.cpp b/llvm/tools/llvm-cvtres/llvm-cvtres.cpp index 6dbf0a7..b2be58b 100644 --- a/llvm/tools/llvm-cvtres/llvm-cvtres.cpp +++ b/llvm/tools/llvm-cvtres/llvm-cvtres.cpp @@ -44,12 +44,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Opts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ diff --git a/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp b/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp index bbf4b63..52a75ee 100644 --- a/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp +++ b/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp @@ -32,12 +32,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<llvm::StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Opts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ diff --git a/llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp b/llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp index 1c1ebdc..eeb92a7 100644 --- a/llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp +++ b/llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp @@ -40,12 +40,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Options.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ diff --git a/llvm/tools/llvm-ifs/llvm-ifs.cpp b/llvm/tools/llvm-ifs/llvm-ifs.cpp index f64acf96..bef2800 100644 --- a/llvm/tools/llvm-ifs/llvm-ifs.cpp +++ b/llvm/tools/llvm-ifs/llvm-ifs.cpp @@ -60,12 +60,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Opts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ diff --git a/llvm/tools/llvm-lipo/llvm-lipo.cpp b/llvm/tools/llvm-lipo/llvm-lipo.cpp index 78cda75..b4a76e18 100644 --- a/llvm/tools/llvm-lipo/llvm-lipo.cpp +++ b/llvm/tools/llvm-lipo/llvm-lipo.cpp @@ -73,27 +73,26 @@ enum LipoID { #undef OPTION }; -namespace lipo { -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<llvm::StringLiteral> NAME = VALUE; +// LipoInfoTable below references LIPO_##PREFIX. OptionGroup has prefix nullptr. +constexpr const char *const *LIPO_nullptr = nullptr; +#define PREFIX(NAME, VALUE) const char *const LIPO_##NAME[] = VALUE; #include "LipoOpts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> LipoInfoTable = { +static constexpr opt::OptTable::Info LipoInfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ - {PREFIX, NAME, HELPTEXT, \ - METAVAR, LIPO_##ID, opt::Option::KIND##Class, \ - PARAM, FLAGS, LIPO_##GROUP, \ - LIPO_##ALIAS, ALIASARGS, VALUES}, + {LIPO_##PREFIX, NAME, HELPTEXT, \ + METAVAR, LIPO_##ID, opt::Option::KIND##Class, \ + PARAM, FLAGS, LIPO_##GROUP, \ + LIPO_##ALIAS, ALIASARGS, VALUES}, #include "LipoOpts.inc" #undef OPTION }; -} // namespace lipo class LipoOptTable : public opt::OptTable { public: - LipoOptTable() : OptTable(lipo::LipoInfoTable) {} + LipoOptTable() : OptTable(LipoInfoTable) {} }; enum class LipoAction { diff --git a/llvm/tools/llvm-ml/llvm-ml.cpp b/llvm/tools/llvm-ml/llvm-ml.cpp index 5c773bd..7626580 100644 --- a/llvm/tools/llvm-ml/llvm-ml.cpp +++ b/llvm/tools/llvm-ml/llvm-ml.cpp @@ -60,12 +60,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Opts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ diff --git a/llvm/tools/llvm-mt/llvm-mt.cpp b/llvm/tools/llvm-mt/llvm-mt.cpp index b6d57fa..3f70c89 100644 --- a/llvm/tools/llvm-mt/llvm-mt.cpp +++ b/llvm/tools/llvm-mt/llvm-mt.cpp @@ -41,12 +41,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Opts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp index 953637c..47644f0 100644 --- a/llvm/tools/llvm-nm/llvm-nm.cpp +++ b/llvm/tools/llvm-nm/llvm-nm.cpp @@ -64,12 +64,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Opts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ diff --git a/llvm/tools/llvm-objcopy/ObjcopyOptions.cpp b/llvm/tools/llvm-objcopy/ObjcopyOptions.cpp index 287744b..bf39f8c 100644 --- a/llvm/tools/llvm-objcopy/ObjcopyOptions.cpp +++ b/llvm/tools/llvm-objcopy/ObjcopyOptions.cpp @@ -36,27 +36,32 @@ enum ObjcopyID { #undef OPTION }; -namespace objcopy_opt { -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const OBJCOPY_##NAME[] = VALUE; #include "ObjcopyOpts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> ObjcopyInfoTable = { +static constexpr opt::OptTable::Info ObjcopyInfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ - {PREFIX, NAME, HELPTEXT, \ - METAVAR, OBJCOPY_##ID, opt::Option::KIND##Class, \ - PARAM, FLAGS, OBJCOPY_##GROUP, \ - OBJCOPY_##ALIAS, ALIASARGS, VALUES}, + {OBJCOPY_##PREFIX, \ + NAME, \ + HELPTEXT, \ + METAVAR, \ + OBJCOPY_##ID, \ + opt::Option::KIND##Class, \ + PARAM, \ + FLAGS, \ + OBJCOPY_##GROUP, \ + OBJCOPY_##ALIAS, \ + ALIASARGS, \ + VALUES}, #include "ObjcopyOpts.inc" #undef OPTION }; -} // namespace objcopy_opt class ObjcopyOptTable : public opt::OptTable { public: - ObjcopyOptTable() : OptTable(objcopy_opt::ObjcopyInfoTable) { + ObjcopyOptTable() : OptTable(ObjcopyInfoTable) { setGroupedShortOptions(true); } }; @@ -70,18 +75,15 @@ enum InstallNameToolID { #undef OPTION }; -namespace install_name_tool { - #define PREFIX(NAME, VALUE) \ - constexpr std::initializer_list<StringLiteral> NAME = VALUE; + const char *const INSTALL_NAME_TOOL_##NAME[] = VALUE; #include "InstallNameToolOpts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> - InstallNameToolInfoTable = { +static constexpr opt::OptTable::Info InstallNameToolInfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ - {PREFIX, \ + {INSTALL_NAME_TOOL_##PREFIX, \ NAME, \ HELPTEXT, \ METAVAR, \ @@ -96,12 +98,10 @@ static constexpr std::initializer_list<opt::OptTable::Info> #include "InstallNameToolOpts.inc" #undef OPTION }; -} // namespace install_name_tool class InstallNameToolOptTable : public opt::OptTable { public: - InstallNameToolOptTable() - : OptTable(install_name_tool::InstallNameToolInfoTable) {} + InstallNameToolOptTable() : OptTable(InstallNameToolInfoTable) {} }; enum BitcodeStripID { @@ -113,18 +113,14 @@ enum BitcodeStripID { #undef OPTION }; -namespace bitcode_strip { - -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const BITCODE_STRIP_##NAME[] = VALUE; #include "BitcodeStripOpts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> - BitcodeStripInfoTable = { +static constexpr opt::OptTable::Info BitcodeStripInfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ - {PREFIX, \ + {BITCODE_STRIP_##PREFIX, \ NAME, \ HELPTEXT, \ METAVAR, \ @@ -139,11 +135,10 @@ static constexpr std::initializer_list<opt::OptTable::Info> #include "BitcodeStripOpts.inc" #undef OPTION }; -} // namespace bitcode_strip class BitcodeStripOptTable : public opt::OptTable { public: - BitcodeStripOptTable() : OptTable(bitcode_strip::BitcodeStripInfoTable) {} + BitcodeStripOptTable() : OptTable(BitcodeStripInfoTable) {} }; enum StripID { @@ -155,29 +150,24 @@ enum StripID { #undef OPTION }; -namespace strip { -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const STRIP_##NAME[] = VALUE; #include "StripOpts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> StripInfoTable = { +static constexpr opt::OptTable::Info StripInfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ - {PREFIX, NAME, HELPTEXT, \ - METAVAR, STRIP_##ID, opt::Option::KIND##Class, \ - PARAM, FLAGS, STRIP_##GROUP, \ - STRIP_##ALIAS, ALIASARGS, VALUES}, + {STRIP_##PREFIX, NAME, HELPTEXT, \ + METAVAR, STRIP_##ID, opt::Option::KIND##Class, \ + PARAM, FLAGS, STRIP_##GROUP, \ + STRIP_##ALIAS, ALIASARGS, VALUES}, #include "StripOpts.inc" #undef OPTION }; -} // namespace strip class StripOptTable : public opt::OptTable { public: - StripOptTable() : OptTable(strip::StripInfoTable) { - setGroupedShortOptions(true); - } + StripOptTable() : OptTable(StripInfoTable) { setGroupedShortOptions(true); } }; } // namespace diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index 5cd6acb..bb02cd0 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -119,29 +119,28 @@ private: }; // ObjdumpOptID is in ObjdumpOptID.h -namespace objdump_opt { -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; + +#define PREFIX(NAME, VALUE) const char *const OBJDUMP_##NAME[] = VALUE; #include "ObjdumpOpts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> ObjdumpInfoTable = { +static constexpr opt::OptTable::Info ObjdumpInfoTable[] = { +#define OBJDUMP_nullptr nullptr #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ - {PREFIX, NAME, HELPTEXT, \ - METAVAR, OBJDUMP_##ID, opt::Option::KIND##Class, \ - PARAM, FLAGS, OBJDUMP_##GROUP, \ - OBJDUMP_##ALIAS, ALIASARGS, VALUES}, + {OBJDUMP_##PREFIX, NAME, HELPTEXT, \ + METAVAR, OBJDUMP_##ID, opt::Option::KIND##Class, \ + PARAM, FLAGS, OBJDUMP_##GROUP, \ + OBJDUMP_##ALIAS, ALIASARGS, VALUES}, #include "ObjdumpOpts.inc" #undef OPTION +#undef OBJDUMP_nullptr }; -} // namespace objdump_opt class ObjdumpOptTable : public CommonOptTable { public: ObjdumpOptTable() - : CommonOptTable(objdump_opt::ObjdumpInfoTable, - " [options] <input object files>", + : CommonOptTable(ObjdumpInfoTable, " [options] <input object files>", "llvm object file dumper") {} }; @@ -154,28 +153,27 @@ enum OtoolOptID { #undef OPTION }; -namespace otool { -#define PREFIX(NAME, VALUE) \ - constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const OTOOL_##NAME[] = VALUE; #include "OtoolOpts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> OtoolInfoTable = { +static constexpr opt::OptTable::Info OtoolInfoTable[] = { +#define OTOOL_nullptr nullptr #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ - {PREFIX, NAME, HELPTEXT, \ - METAVAR, OTOOL_##ID, opt::Option::KIND##Class, \ - PARAM, FLAGS, OTOOL_##GROUP, \ - OTOOL_##ALIAS, ALIASARGS, VALUES}, + {OTOOL_##PREFIX, NAME, HELPTEXT, \ + METAVAR, OTOOL_##ID, opt::Option::KIND##Class, \ + PARAM, FLAGS, OTOOL_##GROUP, \ + OTOOL_##ALIAS, ALIASARGS, VALUES}, #include "OtoolOpts.inc" #undef OPTION +#undef OTOOL_nullptr }; -} // namespace otool class OtoolOptTable : public CommonOptTable { public: OtoolOptTable() - : CommonOptTable(otool::OtoolInfoTable, " [option...] [file...]", + : CommonOptTable(OtoolInfoTable, " [option...] [file...]", "Mach-O object file displaying tool") {} }; diff --git a/llvm/tools/llvm-rc/llvm-rc.cpp b/llvm/tools/llvm-rc/llvm-rc.cpp index ff21213..00fb9c1 100644 --- a/llvm/tools/llvm-rc/llvm-rc.cpp +++ b/llvm/tools/llvm-rc/llvm-rc.cpp @@ -55,13 +55,11 @@ enum ID { #undef OPTION }; -namespace rc_opt { -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Opts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ @@ -72,11 +70,10 @@ static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { #include "Opts.inc" #undef OPTION }; -} // namespace rc_opt class RcOptTable : public opt::OptTable { public: - RcOptTable() : OptTable(rc_opt::InfoTable, /* IgnoreCase = */ true) {} + RcOptTable() : OptTable(InfoTable, /* IgnoreCase = */ true) {} }; enum Windres_ID { @@ -88,28 +85,25 @@ enum Windres_ID { #undef OPTION }; -namespace windres_opt { -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const WINDRES_##NAME[] = VALUE; #include "WindresOpts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info WindresInfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ - {PREFIX, NAME, HELPTEXT, \ - METAVAR, WINDRES_##ID, opt::Option::KIND##Class, \ - PARAM, FLAGS, WINDRES_##GROUP, \ - WINDRES_##ALIAS, ALIASARGS, VALUES}, + { \ + WINDRES_##PREFIX, NAME, HELPTEXT, \ + METAVAR, WINDRES_##ID, opt::Option::KIND##Class, \ + PARAM, FLAGS, WINDRES_##GROUP, \ + WINDRES_##ALIAS, ALIASARGS, VALUES}, #include "WindresOpts.inc" #undef OPTION }; -} // namespace windres_opt class WindresOptTable : public opt::OptTable { public: - WindresOptTable() - : OptTable(windres_opt::InfoTable, /* IgnoreCase = */ false) {} + WindresOptTable() : OptTable(WindresInfoTable, /* IgnoreCase = */ false) {} }; static ExitOnError ExitOnErr; diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index 57598b0..7cb2036 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -61,12 +61,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Opts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ diff --git a/llvm/tools/llvm-size/llvm-size.cpp b/llvm/tools/llvm-size/llvm-size.cpp index 884f6f0..de2e285 100644 --- a/llvm/tools/llvm-size/llvm-size.cpp +++ b/llvm/tools/llvm-size/llvm-size.cpp @@ -47,12 +47,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Opts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ diff --git a/llvm/tools/llvm-strings/llvm-strings.cpp b/llvm/tools/llvm-strings/llvm-strings.cpp index afaa00b..918ca5f 100644 --- a/llvm/tools/llvm-strings/llvm-strings.cpp +++ b/llvm/tools/llvm-strings/llvm-strings.cpp @@ -39,12 +39,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Opts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ diff --git a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp index b7e7fd2..833506a 100644 --- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp +++ b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp @@ -56,12 +56,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Opts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ diff --git a/llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp b/llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp index fa5ef6d..05fb5ff 100644 --- a/llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp +++ b/llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp @@ -35,12 +35,11 @@ enum ID { #undef OPTION }; -#define PREFIX(NAME, VALUE) \ - static constexpr std::initializer_list<StringLiteral> NAME = VALUE; +#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE; #include "Opts.inc" #undef PREFIX -static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = { +static constexpr opt::OptTable::Info InfoTable[] = { #define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \ HELPTEXT, METAVAR, VALUES) \ { \ |