diff options
author | Filipe Cabecinhas <me@filcab.net> | 2015-10-14 12:25:43 +0000 |
---|---|---|
committer | Filipe Cabecinhas <me@filcab.net> | 2015-10-14 12:25:43 +0000 |
commit | c888e190ba51783109182fcda6d670497730e7c1 (patch) | |
tree | 475b43e11cbeab3e7177e90f3ef80bb25495b8a5 /clang/lib/Frontend/InitHeaderSearch.cpp | |
parent | bd716ab08c56975346b6f5b7209b632eb81512eb (diff) | |
download | bcm5719-llvm-c888e190ba51783109182fcda6d670497730e7c1.tar.gz bcm5719-llvm-c888e190ba51783109182fcda6d670497730e7c1.zip |
Bring back r250262: PS4 toolchain
There was a minor problem with a test. Sorry for the noise yesterday.
This patch adds missing pieces to clang, including the PS4 toolchain
definition, added warnings, PS4 defaults, and Driver changes needed for
our compiler.
A patch by Filipe Cabecinhas, Pierre Gousseau and Katya Romanova!
Differential Revision: http://reviews.llvm.org/D13482
llvm-svn: 250293
Diffstat (limited to 'clang/lib/Frontend/InitHeaderSearch.cpp')
-rw-r--r-- | clang/lib/Frontend/InitHeaderSearch.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/lib/Frontend/InitHeaderSearch.cpp b/clang/lib/Frontend/InitHeaderSearch.cpp index 3c4aed12b13..1de46271d19 100644 --- a/clang/lib/Frontend/InitHeaderSearch.cpp +++ b/clang/lib/Frontend/InitHeaderSearch.cpp @@ -215,6 +215,7 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, case llvm::Triple::OpenBSD: case llvm::Triple::Bitrig: case llvm::Triple::NaCl: + case llvm::Triple::PS4: break; case llvm::Triple::Win32: if (triple.getEnvironment() != llvm::Triple::Cygnus) @@ -318,6 +319,28 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, case llvm::Triple::RTEMS: case llvm::Triple::NaCl: break; + case llvm::Triple::PS4: { + // <isysroot> gets prepended later in AddPath(). + std::string BaseSDKPath = ""; + if (!HasSysroot) { + const char *envValue = getenv("SCE_PS4_SDK_DIR"); + if (envValue) + BaseSDKPath = envValue; + else { + // HSOpts.ResourceDir variable contains the location of Clang's + // resource files. + // Assuming that Clang is configured for PS4 without + // --with-clang-resource-dir option, the location of Clang's resource + // files is <SDK_DIR>/host_tools/lib/clang + SmallString<128> P = StringRef(HSOpts.ResourceDir); + llvm::sys::path::append(P, "../../.."); + BaseSDKPath = P.str(); + } + } + AddPath(BaseSDKPath + "/target/include", System, false); + if (triple.isPS4CPU()) + AddPath(BaseSDKPath + "/target/include_common", System, false); + } default: AddPath("/usr/include", ExternCSystem, false); break; |