aboutsummaryrefslogtreecommitdiff
path: root/clang
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2014-07-29 23:48:32 +0000
committerBob Wilson <bob.wilson@apple.com>2014-07-29 23:48:32 +0000
commit81d4e6005c3d35074a9cd33fb3e1429d582e97f3 (patch)
tree97a2049dfda74f9442dad5566880e4d91501538e /clang
parent062184f19bf8865d4bb04223746b563fc06f5366 (diff)
downloadllvm-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.h7
-rw-r--r--clang/lib/Driver/ToolChains.h5
-rw-r--r--clang/test/Driver/linker-opts.c4
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