Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(53)

Side by Side Diff: lib/Driver/ToolChains.cpp

Issue 1208073002: [MIPS] Add support for direct-to-nacl in Clang (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-clang.git@master
Patch Set: Updated change. Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/Driver/ToolChains.h ('k') | lib/Driver/Tools.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===--- ToolChains.cpp - ToolChain Implementations -----------------------===// 1 //===--- ToolChains.cpp - ToolChain Implementations -----------------------===//
2 // 2 //
3 // The LLVM Compiler Infrastructure 3 // The LLVM Compiler Infrastructure
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 9
10 #include "ToolChains.h" 10 #include "ToolChains.h"
(...skipping 2338 matching lines...) Expand 10 before | Expand all | Expand 10 after
2349 file_paths.push_back(ToolPath + "x86_64-nacl"); 2349 file_paths.push_back(ToolPath + "x86_64-nacl");
2350 break; 2350 break;
2351 } 2351 }
2352 case llvm::Triple::arm: { 2352 case llvm::Triple::arm: {
2353 file_paths.push_back(FilePath + "arm-nacl/lib"); 2353 file_paths.push_back(FilePath + "arm-nacl/lib");
2354 file_paths.push_back(FilePath + "arm-nacl/usr/lib"); 2354 file_paths.push_back(FilePath + "arm-nacl/usr/lib");
2355 prog_paths.push_back(ProgPath + "arm-nacl/bin"); 2355 prog_paths.push_back(ProgPath + "arm-nacl/bin");
2356 file_paths.push_back(ToolPath + "arm-nacl"); 2356 file_paths.push_back(ToolPath + "arm-nacl");
2357 break; 2357 break;
2358 } 2358 }
2359 case llvm::Triple::mipsel: {
2360 file_paths.push_back(FilePath + "mipsel-nacl/lib");
2361 file_paths.push_back(FilePath + "mipsel-nacl/usr/lib");
2362 prog_paths.push_back(ProgPath + "bin");
2363 file_paths.push_back(ToolPath + "mipsel-nacl");
2364 break;
2365 }
2359 default: 2366 default:
2360 break; 2367 break;
2361 } 2368 }
2362 2369
2363 // Use provided linker, not system linker 2370 // Use provided linker, not system linker
2364 Linker = GetLinkerPath(); 2371 Linker = GetLinkerPath();
2365 NaClArmMacrosPath = GetFilePath("nacl-arm-macros.s"); 2372 NaClArmMacrosPath = GetFilePath("nacl-arm-macros.s");
2366 } 2373 }
2367 2374
2368 void NaCl_TC::AddClangSystemIncludeArgs(const ArgList &DriverArgs, 2375 void NaCl_TC::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
2438 llvm::sys::path::append(P, "arm-nacl/include/c++/v1"); 2445 llvm::sys::path::append(P, "arm-nacl/include/c++/v1");
2439 addSystemInclude(DriverArgs, CC1Args, P.str()); 2446 addSystemInclude(DriverArgs, CC1Args, P.str());
2440 } else if (getTriple().getArch() == llvm::Triple::x86) { 2447 } else if (getTriple().getArch() == llvm::Triple::x86) {
2441 SmallString<128> P(D.Dir + "/../"); 2448 SmallString<128> P(D.Dir + "/../");
2442 llvm::sys::path::append(P, "x86_64-nacl/include/c++/v1"); 2449 llvm::sys::path::append(P, "x86_64-nacl/include/c++/v1");
2443 addSystemInclude(DriverArgs, CC1Args, P.str()); 2450 addSystemInclude(DriverArgs, CC1Args, P.str());
2444 } else if (getTriple().getArch() == llvm::Triple::x86_64) { 2451 } else if (getTriple().getArch() == llvm::Triple::x86_64) {
2445 SmallString<128> P(D.Dir + "/../"); 2452 SmallString<128> P(D.Dir + "/../");
2446 llvm::sys::path::append(P, "x86_64-nacl/include/c++/v1"); 2453 llvm::sys::path::append(P, "x86_64-nacl/include/c++/v1");
2447 addSystemInclude(DriverArgs, CC1Args, P.str()); 2454 addSystemInclude(DriverArgs, CC1Args, P.str());
2455 } else if (getTriple().getArch() == llvm::Triple::mipsel) {
2456 SmallString<128> P(D.Dir + "/../");
2457 llvm::sys::path::append(P, "mipsel-nacl/include/c++/v1");
2458 addSystemInclude(DriverArgs, CC1Args, P.str());
2448 } 2459 }
2449 } 2460 }
2450 2461
2451 ToolChain::CXXStdlibType NaCl_TC::GetCXXStdlibType(const ArgList &Args) const { 2462 ToolChain::CXXStdlibType NaCl_TC::GetCXXStdlibType(const ArgList &Args) const {
2452 if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) { 2463 if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) {
2453 StringRef Value = A->getValue(); 2464 StringRef Value = A->getValue();
2454 if (Value == "libc++") 2465 if (Value == "libc++")
2455 return ToolChain::CST_Libcxx; 2466 return ToolChain::CST_Libcxx;
2456 getDriver().Diag(diag::err_drv_invalid_stdlib_name) 2467 getDriver().Diag(diag::err_drv_invalid_stdlib_name)
2457 << A->getAsString(Args); 2468 << A->getAsString(Args);
(...skipping 1236 matching lines...) Expand 10 before | Expand all | Expand 10 after
3694 StringRef(cl_include_dir).split(Dirs, StringRef(EnvPathSeparatorStr)); 3705 StringRef(cl_include_dir).split(Dirs, StringRef(EnvPathSeparatorStr));
3695 ArrayRef<StringRef> DirVec(Dirs); 3706 ArrayRef<StringRef> DirVec(Dirs);
3696 addSystemIncludes(DriverArgs, CC1Args, DirVec); 3707 addSystemIncludes(DriverArgs, CC1Args, DirVec);
3697 } 3708 }
3698 } 3709 }
3699 3710
3700 void XCore::AddCXXStdlibLibArgs(const ArgList &Args, 3711 void XCore::AddCXXStdlibLibArgs(const ArgList &Args,
3701 ArgStringList &CmdArgs) const { 3712 ArgStringList &CmdArgs) const {
3702 // We don't output any lib args. This is handled by xcc. 3713 // We don't output any lib args. This is handled by xcc.
3703 } 3714 }
OLDNEW
« no previous file with comments | « lib/Driver/ToolChains.h ('k') | lib/Driver/Tools.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698