diff options
| author | Jim Grosbach <grosbach@apple.com> | 2009-08-11 00:09:57 +0000 |
|---|---|---|
| committer | Jim Grosbach <grosbach@apple.com> | 2009-08-11 00:09:57 +0000 |
| commit | 693e36a3e8f86a2095806744ad5f8963fbf74271 (patch) | |
| tree | 2851cec780f8c855e1ac99f24184e2e0e6973fe7 /llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp | |
| parent | 48989905248ba66591b07e87cb260bca42e424f5 (diff) | |
| download | bcm5719-llvm-693e36a3e8f86a2095806744ad5f8963fbf74271.tar.gz bcm5719-llvm-693e36a3e8f86a2095806744ad5f8963fbf74271.zip | |
SjLj based exception handling unwinding support. This patch is nasty, brutish
and short. Well, it's kinda short. Definitely nasty and brutish.
The front-end generates the register/unregister calls into the SjLj runtime,
call-site indices and landing pad dispatch. The back end fills in the LSDA
with the call-site information provided by the front end. Catch blocks are
not yet implemented.
Built on Darwin and verified no llvm-core "make check" regressions.
llvm-svn: 78625
Diffstat (limited to 'llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp b/llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp index e3348a90d45..653219bf744 100644 --- a/llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp +++ b/llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp @@ -47,6 +47,12 @@ ARMDarwinTargetAsmInfo::ARMDarwinTargetAsmInfo() { ProtectedDirective = NULL; HasDotTypeDotSizeDirective = false; SupportsDebugInformation = true; + + // Exceptions handling + ExceptionsType = ExceptionHandling::SjLj; + GlobalEHDirective = "\t.globl\t"; + SupportsWeakOmittedEHFrame = false; + AbsoluteEHSectionOffsets = false; } ARMELFTargetAsmInfo::ARMELFTargetAsmInfo() { |

