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-rc/llvm-rc.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-rc/llvm-rc.cpp')
-rw-r--r-- | llvm/tools/llvm-rc/llvm-rc.cpp | 28 |
1 files changed, 11 insertions, 17 deletions
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; |