Author: dougk Date: Wed Oct 19 12:30:40 2016 New Revision: 284617 URL: http://llvm.org/viewvc/llvm-project?rev=284617&view=rev Log: [Myriad] Find libc++ headers next to clang binary
Modified: cfe/trunk/lib/Driver/ToolChains.cpp cfe/trunk/test/Driver/myriad-toolchain.c Modified: cfe/trunk/lib/Driver/ToolChains.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=284617&r1=284616&r2=284617&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains.cpp Wed Oct 19 12:30:40 2016 @@ -5130,15 +5130,19 @@ void MyriadToolChain::AddClangCXXStdlibI DriverArgs.hasArg(options::OPT_nostdincxx)) return; - // Only libstdc++, for now. - StringRef LibDir = GCCInstallation.getParentLibPath(); - const GCCVersion &Version = GCCInstallation.getVersion(); - StringRef TripleStr = GCCInstallation.getTriple().str(); - const Multilib &Multilib = GCCInstallation.getMultilib(); - - addLibStdCXXIncludePaths( - LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text, - "", TripleStr, "", "", Multilib.includeSuffix(), DriverArgs, CC1Args); + if (GetCXXStdlibType(DriverArgs) == ToolChain::CST_Libcxx) { + std::string Path(getDriver().getInstalledDir()); + Path += "/../include/c++/v1"; + addSystemInclude(DriverArgs, CC1Args, Path); + } else { + StringRef LibDir = GCCInstallation.getParentLibPath(); + const GCCVersion &Version = GCCInstallation.getVersion(); + StringRef TripleStr = GCCInstallation.getTriple().str(); + const Multilib &Multilib = GCCInstallation.getMultilib(); + addLibStdCXXIncludePaths( + LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text, + "", TripleStr, "", "", Multilib.includeSuffix(), DriverArgs, CC1Args); + } } // MyriadToolChain handles several triples: Modified: cfe/trunk/test/Driver/myriad-toolchain.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/myriad-toolchain.c?rev=284617&r1=284616&r2=284617&view=diff ============================================================================== --- cfe/trunk/test/Driver/myriad-toolchain.c (original) +++ cfe/trunk/test/Driver/myriad-toolchain.c Wed Oct 19 12:30:40 2016 @@ -69,8 +69,11 @@ // RUN: | FileCheck %s -check-prefix=PREPROCESS // PREPROCESS: "-E" "-DMYRIAD2" "-I" "foo" -// 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 -### --driver-mode=g++ %s 2>&1 | FileCheck %s --check-prefix=LIBSTDCXX +// LIBSTDCXX: "-lstdc++" "-lc" "-lgcc" + +// RUN: %clang -stdlib=libc++ -### -target sparcel-myriad -S -x c++ %s 2>&1 | FileCheck %s -check-prefix=LIBCXX +// LIBCXX: "-internal-isystem" "{{.*}}/../include/c++/v1" // RUN: %clang -target sparc-myriad -### -nostdlib %s 2>&1 | FileCheck %s --check-prefix=NOSTDLIB // NOSTDLIB-NOT: crtbegin.o _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits