diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-06-16 19:01:17 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-06-16 19:01:17 +0000 |
| commit | 23a8a06554c1b03932010e5a233fa11656f3363a (patch) | |
| tree | 6995adc0cdca378b982810109d95f11b803b15f6 /clang/lib/Driver | |
| parent | 1d44608cc112ee68ee523c5664f7340e8c81c2fa (diff) | |
| download | bcm5719-llvm-23a8a06554c1b03932010e5a233fa11656f3363a.tar.gz bcm5719-llvm-23a8a06554c1b03932010e5a233fa11656f3363a.zip | |
Change the test for which ABI/CC to use on ARM to be base on the environment
(the last argument of the triple).
llvm-svn: 106131
Diffstat (limited to 'clang/lib/Driver')
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 0a88d9f9796..ae197fbeba6 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -394,20 +394,13 @@ void Clang::AddARMTargetArgs(const ArgList &Args, ABIName = A->getValue(Args); } else { // Select the default based on the platform. - switch (getToolChain().getTriple().getOS()) { - // FIXME: Is this right for non-Darwin and non-Linux? - default: + llvm::StringRef env = getToolChain().getTriple().getEnvironmentName(); + if (env == "gnueabi") + ABIName = "aapcs-linux"; + else if (env == "eabi") ABIName = "aapcs"; - break; - - case llvm::Triple::Darwin: + else ABIName = "apcs-gnu"; - break; - - case llvm::Triple::Linux: - ABIName = "aapcs-linux"; - break; - } } CmdArgs.push_back("-target-abi"); CmdArgs.push_back(ABIName); |

