[llvm] [readtapi] add optional --<option>"=" to some cli opts (PR #72426)

Cyndy Ishida via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 15 10:52:50 PST 2023


https://github.com/cyndyishida created https://github.com/llvm/llvm-project/pull/72426

None

>From 2f622366bc53f0ee7dc199d803f4f444462eacc3 Mon Sep 17 00:00:00 2001
From: Cyndy Ishida <cyndy_ishida at apple.com>
Date: Wed, 15 Nov 2023 09:11:41 -0800
Subject: [PATCH] [readtapi] add optional --<option>"=" to some cli opts

---
 llvm/tools/llvm-readtapi/TapiOpts.td       | 7 +++++--
 llvm/tools/llvm-readtapi/llvm-readtapi.cpp | 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/llvm/tools/llvm-readtapi/TapiOpts.td b/llvm/tools/llvm-readtapi/TapiOpts.td
index fd2f96ba57fd41c..932a21f7d071199 100644
--- a/llvm/tools/llvm-readtapi/TapiOpts.td
+++ b/llvm/tools/llvm-readtapi/TapiOpts.td
@@ -2,13 +2,16 @@
 include "llvm/Option/OptParser.td"
 
 class FF<string name, string help>: Flag<["-", "--"], name>, HelpText<help>;
-class JS<string name, string help, string var = ""> : JoinedOrSeparate<["-", "--"], name>, HelpText<help>, MetaVarName<var>;
+multiclass JS<string name, string help, string var = ""> {
+  def NAME #_EQ : Joined<["--"], name #"=">, HelpText<help>, MetaVarName<var>;
+  def : Separate<["-", "--"], name>, Alias<!cast<Joined>(NAME #_EQ)>;
+}
 
 //
 // General Driver options 
 //
 def help : FF<"help", "display this help">;
-def output: JS<"o", "write output to <file>","<file>">;
+defm output: JS<"o", "write output to <file>","<file>">;
 
 //
 // Compare options
diff --git a/llvm/tools/llvm-readtapi/llvm-readtapi.cpp b/llvm/tools/llvm-readtapi/llvm-readtapi.cpp
index 2aae1c464c0ed23..1307916120e98e6 100644
--- a/llvm/tools/llvm-readtapi/llvm-readtapi.cpp
+++ b/llvm/tools/llvm-readtapi/llvm-readtapi.cpp
@@ -127,7 +127,7 @@ int main(int Argc, char **Argv) {
   for (opt::Arg *A : Args.filtered(OPT_INPUT))
     Ctx.Inputs.push_back(A->getValue());
 
-  if (opt::Arg *A = Args.getLastArg(OPT_output)) {
+  if (opt::Arg *A = Args.getLastArg(OPT_output_EQ)) {
     std::string OutputLoc = std::move(A->getValue());
     std::error_code EC;
     Ctx.OutStream = std::make_unique<llvm::raw_fd_stream>(OutputLoc, EC);



More information about the llvm-commits mailing list