From: Douglas Katzman Date: Fri, 9 Oct 2015 20:26:20 +0000 (+0000) Subject: [Myriad]: put libstdc++ and libc in the right order X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c3966abdb3d6dce40ee43e223d64342343a0f1fb;p=clang [Myriad]: put libstdc++ and libc in the right order git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249893 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 4064384a54..a54a60f7d7 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -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) { diff --git a/test/Driver/myriad-toolchain.c b/test/Driver/myriad-toolchain.c index 6dce427359..9d8755f85f 100644 --- a/test/Driver/myriad-toolchain.c +++ b/test/Driver/myriad-toolchain.c @@ -54,8 +54,10 @@ // 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