[PATCH] D23867: [ELF] - Fix (partial) for bug 28843 - Make sure we handle options with opposing meanings.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 29 15:24:48 PDT 2016


ruiu added inline comments.

================
Comment at: ELF/Driver.cpp:347-357
@@ -346,1 +346,13 @@
 
+static bool shouldDemangle(opt::InputArgList &Args) {
+  if (auto *Arg = Args.getLastArg(OPT_demangle, OPT_no_demangle))
+    return Arg->getOption().getID() == OPT_demangle;
+  return true;
+}
+
+static bool shouldUseTarget1Rel(opt::InputArgList &Args) {
+  if (auto *Arg = Args.getLastArg(OPT_target1_abs, OPT_target1_rel))
+    return Arg->getOption().getID() == OPT_target1_rel;
+  return false;
+}
+
----------------
I can see the same pattern here. How about this?

  static bool getArg(opt::InputArgList &Args, unsigned K1, unsigned K2, bool Default) {
    if (auto *Arg = Args.getLastArg(K1, K2))
      return Arg->getOption().getID() == K1;
    return Default;
  }


https://reviews.llvm.org/D23867





More information about the llvm-commits mailing list