diff options
author | Ed Schouten <ed@nuxi.nl> | 2015-03-11 08:46:01 +0000 |
---|---|---|
committer | Ed Schouten <ed@nuxi.nl> | 2015-03-11 08:46:01 +0000 |
commit | 2b60d1eee5b994030b9e03e8183732e712f4fc68 (patch) | |
tree | 770ecbf6289e8a871b6f3e38b2f2d01bf2d175f2 /clang/lib/Frontend/InitHeaderSearch.cpp | |
parent | f33c607c0abce65d057fed6eaf9439e2506f1464 (diff) | |
download | llvm-2b60d1eee5b994030b9e03e8183732e712f4fc68.zip llvm-2b60d1eee5b994030b9e03e8183732e712f4fc68.tar.gz llvm-2b60d1eee5b994030b9e03e8183732e712f4fc68.tar.bz2 |
Fix up default header paths for CloudABI.
CloudABI is a pure cross compilation target. This means that we should
not add /usr/include and /usr/local/include. Instead, headers are stored
in $sysroot/$triple/include.
The method of going back to the sysroot (by using "../../..") is also
used in this function for some of the other environments (e.g., MinGW).
llvm-svn: 231913
Diffstat (limited to 'clang/lib/Frontend/InitHeaderSearch.cpp')
-rw-r--r-- | clang/lib/Frontend/InitHeaderSearch.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/clang/lib/Frontend/InitHeaderSearch.cpp b/clang/lib/Frontend/InitHeaderSearch.cpp index a518a0a..c4d4685 100644 --- a/clang/lib/Frontend/InitHeaderSearch.cpp +++ b/clang/lib/Frontend/InitHeaderSearch.cpp @@ -227,6 +227,7 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, if (HSOpts.UseStandardSystemIncludes) { switch (os) { + case llvm::Triple::CloudABI: case llvm::Triple::FreeBSD: case llvm::Triple::NetBSD: case llvm::Triple::OpenBSD: @@ -270,6 +271,14 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, case llvm::Triple::Linux: llvm_unreachable("Include management is handled in the driver."); + case llvm::Triple::CloudABI: { + // <sysroot>/<triple>/include + SmallString<128> P = StringRef(HSOpts.ResourceDir); + llvm::sys::path::append(P, "../../..", triple.str(), "include"); + AddPath(P.str(), System, false); + break; + } + case llvm::Triple::Haiku: AddPath("/boot/common/include", System, false); AddPath("/boot/develop/headers/os", System, false); @@ -340,8 +349,14 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, break; } - if ( os != llvm::Triple::RTEMS ) + switch (os) { + case llvm::Triple::CloudABI: + case llvm::Triple::RTEMS: + break; + default: AddPath("/usr/include", ExternCSystem, false); + break; + } } void InitHeaderSearch:: |