[llvm-commits] [llvm] r41999 - /llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp

Bill Wendling isanbard at gmail.com
Sun Sep 16 03:36:21 PDT 2007


Author: void
Date: Sun Sep 16 05:36:17 2007
New Revision: 41999

URL: http://llvm.org/viewvc/llvm-project?rev=41999&view=rev
Log:
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 (_).


Modified:
    llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp

Modified: llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp?rev=41999&r1=41998&r2=41999&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86AsmPrinter.cpp Sun Sep 16 05:36:17 2007
@@ -352,7 +352,7 @@
 
     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();
 





More information about the llvm-commits mailing list