summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2007-09-16 10:36:17 +0000
committerBill Wendling <isanbard@gmail.com>2007-09-16 10:36:17 +0000
commit656ab16c56187efd58fd378fd4e556f61d4c97bf (patch)
treedf1d652e7cea492f0c5297cadc920e7bd1e60373 /lib
parent2486686689af91c02357fd0925ed213e4dfe0ed1 (diff)
downloadexternal_llvm-656ab16c56187efd58fd378fd4e556f61d4c97bf.zip
external_llvm-656ab16c56187efd58fd378fd4e556f61d4c97bf.tar.gz
external_llvm-656ab16c56187efd58fd378fd4e556f61d4c97bf.tar.bz2
Only emit the personality function as a global value if the backend actually
supports it. This solves this error on the Darwin x86-64 platform: $ cat testcase.ii struct A { A(); }; A *bork() { return new A; } $ llvm-g++ -arch x86_64 -c testcase.ii /var/tmp//cc3U8fd8.s:52:unknown section type: non_lazy_symbol_pointers /var/tmp//cc3U8fd8.s:52:Rest of line ignored. 1st junk character valued 76 (L). /var/tmp//cc3U8fd8.s:53:Unknown pseudo-op: .indirect_symbol /var/tmp//cc3U8fd8.s:53:Rest of line ignored. 1st junk character valued 95 (_). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41999 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/X86/X86AsmPrinter.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp
index b7de8f0..7049cf1 100644
--- a/lib/Target/X86/X86AsmPrinter.cpp
+++ b/lib/Target/X86/X86AsmPrinter.cpp
@@ -352,7 +352,7 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
O << "\n";
- if (MMI) {
+ if (TAI->doesSupportExceptionHandling() && MMI) {
// Add the (possibly multiple) personalities to the set of global values.
const std::vector<Function *>& Personalities = MMI->getPersonalities();