[cfe-commits] r127142 - in /cfe/trunk: include/clang/Driver/Driver.h lib/Driver/Driver.cpp

Joerg Sonnenberger joerg at bec.de
Sun Mar 6 17:15:29 PST 2011


Author: joerg
Date: Sun Mar  6 19:15:29 2011
New Revision: 127142

URL: http://llvm.org/viewvc/llvm-project?rev=127142&view=rev
Log:
Redo part of r127137:
Pass down the correct C->getArgs, but keep it with the original
DerivedArgList type. Slightly adjust the MakeIndex call for the
different base type. This unbreaks the handling of --no-mangle on Darwin.

Modified:
    cfe/trunk/include/clang/Driver/Driver.h
    cfe/trunk/lib/Driver/Driver.cpp

Modified: cfe/trunk/include/clang/Driver/Driver.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Driver.h?rev=127142&r1=127141&r2=127142&view=diff
==============================================================================
--- cfe/trunk/include/clang/Driver/Driver.h (original)
+++ cfe/trunk/include/clang/Driver/Driver.h Sun Mar  6 19:15:29 2011
@@ -224,7 +224,7 @@
   /// \param TC - The default host tool chain.
   /// \param Args - The input arguments.
   /// \param Actions - The list to store the resulting actions onto.
-  void BuildActions(const ToolChain &TC, const InputArgList &Args,
+  void BuildActions(const ToolChain &TC, const DerivedArgList &Args,
                     ActionList &Actions) const;
 
   /// BuildUniversalActions - Construct the list of actions to perform
@@ -233,7 +233,7 @@
   /// \param TC - The default host tool chain.
   /// \param Args - The input arguments.
   /// \param Actions - The list to store the resulting actions onto.
-  void BuildUniversalActions(const ToolChain &TC, const InputArgList &Args,
+  void BuildUniversalActions(const ToolChain &TC, const DerivedArgList &Args,
                              ActionList &Actions) const;
 
   /// BuildJobs - Bind actions to concrete tools and translate

Modified: cfe/trunk/lib/Driver/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=127142&r1=127141&r2=127142&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Driver.cpp (original)
+++ cfe/trunk/lib/Driver/Driver.cpp Sun Mar  6 19:15:29 2011
@@ -308,10 +308,10 @@
 
   // Construct the list of abstract actions to perform for this compilation.
   if (Host->useDriverDriver())
-    BuildUniversalActions(C->getDefaultToolChain(), C->getInputArgs(),
+    BuildUniversalActions(C->getDefaultToolChain(), C->getArgs(),
                           C->getActions());
   else
-    BuildActions(C->getDefaultToolChain(), C->getInputArgs(), C->getActions());
+    BuildActions(C->getDefaultToolChain(), C->getArgs(), C->getActions());
 
   if (CCCPrintActions) {
     PrintActions(*C);
@@ -593,7 +593,7 @@
 }
 
 void Driver::BuildUniversalActions(const ToolChain &TC,
-                                   const InputArgList &Args,
+                                   const DerivedArgList &Args,
                                    ActionList &Actions) const {
   llvm::PrettyStackTraceString CrashInfo("Building universal build actions");
   // Collect the list of architectures. Duplicates are allowed, but should only
@@ -688,7 +688,7 @@
   }
 }
 
-void Driver::BuildActions(const ToolChain &TC, const InputArgList &Args,
+void Driver::BuildActions(const ToolChain &TC, const DerivedArgList &Args,
                           ActionList &Actions) const {
   llvm::PrettyStackTraceString CrashInfo("Building compilation actions");
   // Start by constructing the list of inputs and their types.
@@ -802,7 +802,7 @@
   if (CCCIsCPP && Inputs.empty()) {
     // If called as standalone preprocessor, stdin is processed
     // if no other input is present.
-    unsigned Index = Args.MakeIndex("-");
+    unsigned Index = Args.getBaseArgs().MakeIndex("-");
     Arg *A = Opts->ParseOneArg(Args, Index);
     A->claim();
     Inputs.push_back(std::make_pair(types::TY_C, A));





More information about the cfe-commits mailing list