diff options
author | Bob Wilson <bob.wilson@apple.com> | 2014-07-29 23:48:32 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2014-07-29 23:48:32 +0000 |
commit | 81d4e6005c3d35074a9cd33fb3e1429d582e97f3 (patch) | |
tree | 97a2049dfda74f9442dad5566880e4d91501538e /clang | |
parent | 062184f19bf8865d4bb04223746b563fc06f5366 (diff) | |
download | llvm-81d4e6005c3d35074a9cd33fb3e1429d582e97f3.zip llvm-81d4e6005c3d35074a9cd33fb3e1429d582e97f3.tar.gz llvm-81d4e6005c3d35074a9cd33fb3e1429d582e97f3.tar.bz2 |
Merging r214208:
llvm-svn: 214257
Diffstat (limited to 'clang')
-rw-r--r-- | clang/include/clang/Driver/ToolChain.h | 7 | ||||
-rw-r--r-- | clang/lib/Driver/ToolChains.h | 5 | ||||
-rw-r--r-- | clang/test/Driver/linker-opts.c | 4 |
3 files changed, 13 insertions, 3 deletions
diff --git a/clang/include/clang/Driver/ToolChain.h b/clang/include/clang/Driver/ToolChain.h index c9a6c4b..550e4df 100644 --- a/clang/include/clang/Driver/ToolChain.h +++ b/clang/include/clang/Driver/ToolChain.h @@ -116,9 +116,6 @@ public: StringRef getPlatform() const { return Triple.getVendorName(); } StringRef getOS() const { return Triple.getOSName(); } - /// \brief Returns true if the toolchain is targeting a non-native architecture. - bool isCrossCompiling() const; - /// \brief Provide the default architecture name (as expected by -arch) for /// this toolchain. Note t std::string getDefaultUniversalArchName() const; @@ -171,6 +168,10 @@ public: // Platform defaults information + /// \brief Returns true if the toolchain is targeting a non-native + /// architecture. + virtual bool isCrossCompiling() const; + /// HasNativeLTOLinker - Check whether the linker and related tools have /// native LLVM support. virtual bool HasNativeLLVMSupport() const; diff --git a/clang/lib/Driver/ToolChains.h b/clang/lib/Driver/ToolChains.h index 8e5cf04..73d6959 100644 --- a/clang/lib/Driver/ToolChains.h +++ b/clang/lib/Driver/ToolChains.h @@ -427,6 +427,11 @@ public: /// @name ToolChain Implementation /// { + // Darwin tools support multiple architecture (e.g., i386 and x86_64) and + // most development is done against SDKs, so compiling for a different + // architecture should not get any special treatment. + bool isCrossCompiling() const override { return false; } + llvm::opt::DerivedArgList * TranslateArgs(const llvm::opt::DerivedArgList &Args, const char *BoundArch) const override; diff --git a/clang/test/Driver/linker-opts.c b/clang/test/Driver/linker-opts.c index 3fc95ec..24866a6 100644 --- a/clang/test/Driver/linker-opts.c +++ b/clang/test/Driver/linker-opts.c @@ -5,3 +5,7 @@ // XFAIL: win32 // REQUIRES: clang-driver // REQUIRES: native + +// Make sure that LIBRARY_PATH works for both i386 and x86_64 on Darwin. +// RUN: env LIBRARY_PATH=%T/test1 %clang -target x86_64-apple-darwin %s -### 2>&1 | FileCheck %s +// RUN: env LIBRARY_PATH=%T/test1 %clang -target i386-apple-darwin %s -### 2>&1 | FileCheck %s |