[clang][cli] Store unsigned instead of OptSpecifier in table
authorJan Svoboda <jan_svoboda@apple.com>
Tue, 9 Feb 2021 14:46:10 +0000 (15:46 +0100)
committerJan Svoboda <jan_svoboda@apple.com>
Tue, 9 Feb 2021 14:46:10 +0000 (15:46 +0100)
This fixes some buildbot failures with ambiguous call to OptSpecifier constructor.

clang/lib/Frontend/CompilerInvocation.cpp

index d9df4da..9cdaab8 100644 (file)
@@ -2158,7 +2158,7 @@ static bool parseTestModuleFileExtensionArg(StringRef Arg,
 /// intentionally missing, as this case is handled separately from other
 /// frontend options.
 static const auto &getFrontendActionTable() {
-  static const std::pair<frontend::ActionKind, OptSpecifier> Table[] = {
+  static const std::pair<frontend::ActionKind, unsigned> Table[] = {
       {frontend::ASTDeclList, OPT_ast_list},
 
       {frontend::ASTDump, OPT_ast_dump_all_EQ},
@@ -2213,7 +2213,7 @@ static const auto &getFrontendActionTable() {
 /// Maps command line option to frontend action.
 static Optional<frontend::ActionKind> getFrontendAction(OptSpecifier &Opt) {
   for (const auto &ActionOpt : getFrontendActionTable())
-    if (ActionOpt.second == Opt)
+    if (ActionOpt.second == Opt.getID())
       return ActionOpt.first;
 
   return None;