Driver: Allow -ccc-gcc-name to specify the name/path to use when
calling gcc in generic configurations.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68260 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp
index b59768d..6cb554a 100644
--- a/lib/Driver/Driver.cpp
+++ b/lib/Driver/Driver.cpp
@@ -44,7 +44,8 @@
     DefaultImageName(_DefaultImageName),
     Host(0),
     CCCIsCXX(false), CCCEcho(false), CCCPrintBindings(false),
-    CCCUseClang(true), CCCUseClangCXX(false), CCCUseClangCPP(true),
+    CCCGenericGCCName("gcc"), CCCUseClang(true), CCCUseClangCXX(false), 
+    CCCUseClangCPP(true),
     SuppressMissingInputWarning(false)
 {
   // Only use clang on i386 and x86_64 by default.
@@ -137,6 +138,10 @@
     } else if (!strcmp(Opt, "echo")) {
       CCCEcho = true;
       
+    } else if (!strcmp(Opt, "gcc-name")) {
+      assert(Start+1 < End && "FIXME: -ccc- argument handling.");
+      CCCGenericGCCName = *++Start;
+
     } else if (!strcmp(Opt, "clang-cxx")) {
       CCCUseClangCXX = true;
     } else if (!strcmp(Opt, "no-clang")) {
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index b8c07cc..ab8caf6 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -500,8 +500,10 @@
       II.getInputArg().render(Args, CmdArgs);
   }
 
+  const char *GCCName = 
+    getToolChain().getHost().getDriver().CCCGenericGCCName.c_str();
   const char *Exec = 
-    Args.MakeArgString(getToolChain().GetProgramPath(C, "gcc").c_str());
+    Args.MakeArgString(getToolChain().GetProgramPath(C, GCCName).c_str());
   Dest.addCommand(new Command(Exec, CmdArgs));
 }