aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@apple.com>2015-08-24 19:50:35 +0000
committerAkira Hatanaka <ahatanaka@apple.com>2015-08-24 19:50:35 +0000
commitbbede731a5b2b81aaa33c4590e5d1ab12346050c (patch)
tree0ee2bb419287406b527c1ae3b03922d240e4fcba /clang/lib/Driver/Tools.cpp
parent87da1509e7b612cf380603cc6d6f7ef3b359431e (diff)
downloadllvm-bbede731a5b2b81aaa33c4590e5d1ab12346050c.zip
llvm-bbede731a5b2b81aaa33c4590e5d1ab12346050c.tar.gz
llvm-bbede731a5b2b81aaa33c4590e5d1ab12346050c.tar.bz2
[ARM] Error out on apple darwin platforms if float-abi is "hard".
Error out if the user tries to use float-abi="hard" since it isn't supported on darwin platforms. Previously clang issued no warnings or erros and just passed the option to the backend, which had no effect on code generation for targets using apcs. rdar://problem/22257950 Differential Revision: http://reviews.llvm.org/D12155 llvm-svn: 245866
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index ba5dad5..6bc57f7 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -582,6 +582,10 @@ StringRef tools::arm::getARMFloatABI(const Driver &D, const ArgList &Args,
FloatABI = "soft";
}
}
+
+ if (Triple.isOSDarwin() && FloatABI == "hard")
+ D.Diag(diag::err_drv_unsupported_opt_for_target) << A->getAsString(Args)
+ << Triple.getArchName();
}
// If unspecified, choose the default based on the platform.