forked from OSchip/llvm-project
[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
This commit is contained in:
parent
72fe03f93b
commit
e5f13519d4
|
@ -722,15 +722,15 @@ bool MSVCToolChain::IsIntegratedAssemblerDefault() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MSVCToolChain::IsUnwindTablesDefault(const ArgList &Args) 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.
|
// Don't emit unwind tables by default for MachO targets.
|
||||||
if (getTriple().isOSBinFormatMachO())
|
if (getTriple().isOSBinFormatMachO())
|
||||||
return false;
|
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 {
|
bool MSVCToolChain::isPICDefault() const {
|
||||||
|
|
Loading…
Reference in New Issue