diff options
author | Akira Hatanaka <ahatanaka@apple.com> | 2017-08-03 23:55:42 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@apple.com> | 2017-08-03 23:55:42 +0000 |
commit | b72e35a4c41def2d34235cdd7fa3685fe8bddb00 (patch) | |
tree | 14bb72c39d5d143996ab6289fa4a07e7a8489baa /clang/lib/Driver/ToolChains/MSVC.cpp | |
parent | 8482e56920780be8146b4088ec21502d00b9e440 (diff) | |
download | bcm5719-llvm-b72e35a4c41def2d34235cdd7fa3685fe8bddb00.tar.gz bcm5719-llvm-b72e35a4c41def2d34235cdd7fa3685fe8bddb00.zip |
[Driver][Darwin] Pass -munwind-table when !UseSjLjExceptions.
This commit fixes a bug where clang/llvm doesn't emit an unwind table
for a function when it is marked noexcept. Without this patch, the
following code terminates with an uncaught exception on ARM64:
int foo1() noexcept {
try {
throw 0;
} catch (int i) {
return 0;
}
return 1;
}
int main() {
return foo1();
}
rdar://problem/32411865
Differential Revision: https://reviews.llvm.org/D35693
llvm-svn: 310006
Diffstat (limited to 'clang/lib/Driver/ToolChains/MSVC.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChains/MSVC.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains/MSVC.cpp b/clang/lib/Driver/ToolChains/MSVC.cpp index 9e9d943610b..b871c856d2a 100644 --- a/clang/lib/Driver/ToolChains/MSVC.cpp +++ b/clang/lib/Driver/ToolChains/MSVC.cpp @@ -699,7 +699,7 @@ bool MSVCToolChain::IsIntegratedAssemblerDefault() const { return true; } -bool MSVCToolChain::IsUnwindTablesDefault() 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. |