]> granicus.if.org Git - clang/commitdiff
[Myriad]: put libstdc++ and libc in the right order
authorDouglas Katzman <dougk@google.com>
Fri, 9 Oct 2015 20:26:20 +0000 (20:26 +0000)
committerDouglas Katzman <dougk@google.com>
Fri, 9 Oct 2015 20:26:20 +0000 (20:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249893 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Tools.cpp
test/Driver/myriad-toolchain.c

index 4064384a54a5b9cc010f4321a2a6adcc854b3362..a54a60f7d7ed3691953d10035f9fb5a7fc684a3b 100644 (file)
@@ -9885,6 +9885,8 @@ void tools::Myriad::Linker::ConstructJob(Compilation &C, const JobAction &JA,
   AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
 
   if (UseDefaultLibs) {
+    if (C.getDriver().CCCIsCXX())
+      CmdArgs.push_back("-lstdc++");
     if (T.getOS() == llvm::Triple::RTEMS) {
       CmdArgs.push_back("--start-group");
       CmdArgs.push_back("-lc");
@@ -9895,8 +9897,6 @@ void tools::Myriad::Linker::ConstructJob(Compilation &C, const JobAction &JA,
     } else {
       CmdArgs.push_back("-lc");
     }
-    if (C.getDriver().CCCIsCXX())
-      CmdArgs.push_back("-lstdc++");
     CmdArgs.push_back("-lgcc");
   }
   if (UseStartfiles) {
index 6dce427359b0ad2c179334c99e7b9aa93ef233bd..9d8755f85ffd70d91115d245fccca2d4314b05b0 100644 (file)
 // RUN:   | FileCheck %s -check-prefix=MDMF
 // MDMF: "-S" "-MD" "-MF" "dep.d" "-MT" "foo.o"
 
+// RUN: %clang -target sparc-myriad -### --driver-mode=g++ %s 2>&1 | FileCheck %s --check-prefix=STDLIBCXX
+// STDLIBCXX: "-lstdc++" "-lc" "-lgcc"
+
 // RUN: %clang -target sparc-myriad -### -nostdlib %s 2>&1 | FileCheck %s --check-prefix=NOSTDLIB
-//
 // NOSTDLIB-NOT: "-lc"
 
 // RUN: %clang -### -c -g %s -target sparc-myriad 2>&1 | FileCheck -check-prefix=G_SPARC %s