diff options
author | serge-sans-paille <sguelton@mozilla.com> | 2022-12-23 13:25:58 +0100 |
---|---|---|
committer | serge-sans-paille <sguelton@mozilla.com> | 2022-12-23 13:29:21 +0100 |
commit | 07d9ab9aa5d272cad99617a1f28cdcfd73d86550 (patch) | |
tree | b2d253d91ae1cf866b5960d3c6b072ff582167fd /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | 22bf4a7e89c07255856366f2710974642e482920 (diff) | |
download | llvm-07d9ab9aa5d272cad99617a1f28cdcfd73d86550.zip llvm-07d9ab9aa5d272cad99617a1f28cdcfd73d86550.tar.gz llvm-07d9ab9aa5d272cad99617a1f28cdcfd73d86550.tar.bz2 |
Revert "[clang] Use a StringRef instead of a raw char pointer to store builtin and call information"
There are still remaining issues with GCC 12, see for instance
https://lab.llvm.org/buildbot/#/builders/93/builds/12669
This reverts commit 5ce4e92264102de21760c94db9166afe8f71fcf6.
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.cpp | 40 |
1 files changed, 19 insertions, 21 deletions
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") {} }; |