summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains/MSVC.cpp
diff options
context:
space:
mode:
authorEli Friedman <efriedma@codeaurora.org>2018-10-31 21:39:41 +0000
committerEli Friedman <efriedma@codeaurora.org>2018-10-31 21:39:41 +0000
commite5f13519d4a6e196d5b714b6233b9fc875cbee9b (patch)
tree4acd11b157dc89bd3dbc3f8dfc24fb3bff950cdd /clang/lib/Driver/ToolChains/MSVC.cpp
parent72fe03f93bd249ba3ab020e77860b771542f6c89 (diff)
downloadbcm5719-llvm-e5f13519d4a6e196d5b714b6233b9fc875cbee9b.tar.gz
bcm5719-llvm-e5f13519d4a6e196d5b714b6233b9fc875cbee9b.zip
[AArch64] [Windows] Emit unwind tables by default.
Unwind tables are necessary even in code that doesn't support exceptions. The tables are used for setjmp(), and by debuggers. Differential Revision: https://reviews.llvm.org/D53618 llvm-svn: 345781
Diffstat (limited to 'clang/lib/Driver/ToolChains/MSVC.cpp')
-rw-r--r--clang/lib/Driver/ToolChains/MSVC.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/Driver/ToolChains/MSVC.cpp b/clang/lib/Driver/ToolChains/MSVC.cpp
index f60f39563fd..839f3136230 100644
--- a/clang/lib/Driver/ToolChains/MSVC.cpp
+++ b/clang/lib/Driver/ToolChains/MSVC.cpp
@@ -722,15 +722,15 @@ bool MSVCToolChain::IsIntegratedAssemblerDefault() const {
}
bool MSVCToolChain::IsUnwindTablesDefault(const ArgList &Args) const {
- // Emit unwind tables by default on Win64. All non-x86_32 Windows platforms
- // such as ARM and PPC actually require unwind tables, but LLVM doesn't know
- // how to generate them yet.
-
// Don't emit unwind tables by default for MachO targets.
if (getTriple().isOSBinFormatMachO())
return false;
- return getArch() == llvm::Triple::x86_64;
+ // All non-x86_32 Windows targets require unwind tables. However, LLVM
+ // doesn't know how to generate them for all targets, so only enable
+ // the ones that are actually implemented.
+ return getArch() == llvm::Triple::x86_64 ||
+ getArch() == llvm::Triple::aarch64;
}
bool MSVCToolChain::isPICDefault() const {
OpenPOWER on IntegriCloud