diff options
author | Daniel Dunbar <daniel@zuster.org> | 2012-11-08 03:38:26 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2012-11-08 03:38:26 +0000 |
commit | d2a527eae6df377b326e8d764782bc34f1e64189 (patch) | |
tree | c6410a4e9171e570ee1ce23ea4347270baddb31d /lib/Driver/ToolChain.cpp | |
parent | 85b7f7ddf2f09778ec303f5a39f9e67e3aae1115 (diff) |
Driver/Darwin: The -arch argument values aren't exactly the arch names from a
triple.
- Translate the special case of powerpc to its expected -arch name.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167571 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/ToolChain.cpp')
-rw-r--r-- | lib/Driver/ToolChain.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp index 9dcdafc872..de8ed1d1c5 100644 --- a/lib/Driver/ToolChain.cpp +++ b/lib/Driver/ToolChain.cpp @@ -33,6 +33,21 @@ const Driver &ToolChain::getDriver() const { return D; } +std::string ToolChain::getDefaultUniversalArchName() const { + // In universal driver terms, the arch name accepted by -arch isn't exactly + // the same as the ones that appear in the triple. Roughly speaking, this is + // an inverse of the darwin::getArchTypeForDarwinArchName() function, but the + // only interesting special case is powerpc. + switch (Triple.getArch()) { + case llvm::Triple::ppc: + return "ppc"; + case llvm::Triple::ppc64: + return "ppc64"; + default: + return Triple.getArchName(); + } +} + bool ToolChain::IsUnwindTablesDefault() const { return false; } |