summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2009-08-11 00:09:57 +0000
committerJim Grosbach <grosbach@apple.com>2009-08-11 00:09:57 +0000
commit693e36a3e8f86a2095806744ad5f8963fbf74271 (patch)
tree2851cec780f8c855e1ac99f24184e2e0e6973fe7 /llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp
parent48989905248ba66591b07e87cb260bca42e424f5 (diff)
downloadbcm5719-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.cpp6
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() {
OpenPOWER on IntegriCloud