[Driver] Simplify -fno-builtin- handling. NFC
authorFangrui Song <i@maskray.me>
Wed, 15 Jun 2022 20:35:08 +0000 (13:35 -0700)
committerFangrui Song <i@maskray.me>
Wed, 15 Jun 2022 20:35:08 +0000 (13:35 -0700)
clang/lib/Driver/ToolChains/Clang.cpp

index 0f25161..4337308 100644 (file)
@@ -3577,20 +3577,13 @@ static void RenderBuiltinOptions(const ToolChain &TC, const llvm::Triple &T,
     UseBuiltins = false;
 
   // Process the -fno-builtin-* options.
-  for (const auto &Arg : Args) {
-    const Option &O = Arg->getOption();
-    if (!O.matches(options::OPT_fno_builtin_))
-      continue;
-
-    Arg->claim();
+  for (const Arg *A : Args.filtered(options::OPT_fno_builtin_)) {
+    A->claim();
 
     // If -fno-builtin is specified, then there's no need to pass the option to
     // the frontend.
-    if (!UseBuiltins)
-      continue;
-
-    StringRef FuncName = Arg->getValue();
-    CmdArgs.push_back(Args.MakeArgString("-fno-builtin-" + FuncName));
+    if (UseBuiltins)
+      A->render(Args, CmdArgs);
   }
 
   // le32-specific flags: