]> granicus.if.org Git - clang/commitdiff
clang-cl: pass /FI options to fallback
authorHans Wennborg <hans@hanshq.net>
Fri, 27 Sep 2013 17:54:18 +0000 (17:54 +0000)
committerHans Wennborg <hans@hanshq.net>
Fri, 27 Sep 2013 17:54:18 +0000 (17:54 +0000)
We started parsing /FI in r191442, and now we can pass it on to the
fallback too.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191537 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Tools.cpp
test/Driver/cl-fallback.c

index 6edb44732f288ed92b78a49fdaeb29b84df1882e..cb28cd140fcb2acc84f13309d5d5c04805f4785d 100644 (file)
@@ -6733,6 +6733,10 @@ Command *visualstudio::Compile::GetCommand(Compilation &C, const JobAction &JA,
   if (Args.hasArg(options::OPT_fsyntax_only))
     CmdArgs.push_back("/Zs");
 
+  std::vector<std::string> Includes = Args.getAllArgValues(options::OPT_include);
+  for (size_t I = 0, E = Includes.size(); I != E; ++I)
+    CmdArgs.push_back(Args.MakeArgString(std::string("/FI") + Includes[I]));
+
   // Flags that can simply be passed through.
   Args.AddAllArgs(CmdArgs, options::OPT__SLASH_LD);
   Args.AddAllArgs(CmdArgs, options::OPT__SLASH_LDd);
index a80068bce4cc2ca4b837243b87e09aa5182cde00..2433072a0250d0f96b7100881cab05be41ebd810 100644 (file)
@@ -5,7 +5,7 @@
 // command-line option, e.g. on Mac where %s is commonly under /Users.
 
 // RUN: %clang_cl /fallback /Dfoo=bar /Ubaz /Ifoo /O0 /Ox /GR /GR- /LD /LDd \
-// RUN:     /MD /MDd /MTd /MT -### -- %s 2>&1 | FileCheck %s
+// RUN:     /MD /MDd /MTd /MT /FImyheader.h -### -- %s 2>&1 | FileCheck %s
 // CHECK: "-fdiagnostics-format" "msvc-fallback"
 // CHECK: ||
 // CHECK: cl.exe
@@ -17,6 +17,7 @@
 // CHECK: "-I" "foo"
 // CHECK: "/Ox"
 // CHECK: "/GR-"
+// CHECK: "/FImyheader.h"
 // CHECK: "/LD"
 // CHECK: "/LDd"
 // CHECK: "/MT"