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/CrossWindows.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/CrossWindows.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChains/CrossWindows.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains/CrossWindows.cpp b/clang/lib/Driver/ToolChains/CrossWindows.cpp index ac00a3eba83..67ce08f9a7e 100644 --- a/clang/lib/Driver/ToolChains/CrossWindows.cpp +++ b/clang/lib/Driver/ToolChains/CrossWindows.cpp @@ -213,7 +213,7 @@ CrossWindowsToolChain::CrossWindowsToolChain(const Driver &D, } } -bool CrossWindowsToolChain::IsUnwindTablesDefault() const { +bool CrossWindowsToolChain::IsUnwindTablesDefault(const ArgList &Args) const { // FIXME: all non-x86 targets need unwind tables, however, LLVM currently does // not know how to emit them. return getArch() == llvm::Triple::x86_64; |