Fix coff-dwarf test for non-Windows platforms that cannot demangle MS C++ names
[oota-llvm.git] / test / CodeGen / X86 / split-eh-lpad-edges.ll
index 7808ad63168d4864d046515a8437e75574c4dc19..82dd3b7674f92afc0f1cfee1e15eb39f69e19611 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin | not grep jmp
+; RUN: llc < %s -mtriple=x86_64-apple-darwin | not grep jmp
 ; rdar://6647639
 
        %struct.FetchPlanHeader = type { i8*, i8*, i32, i8*, i8*, i8*, i8*, i8*, %struct.NSObject* (%struct.NSObject*, %struct.objc_selector*, ...)*, %struct.__attributeDescriptionFlags }
        %struct.objc_selector = type opaque
 @"\01l_objc_msgSend_fixup_alloc" = external global %struct._message_ref_t, align 16            ; <%struct._message_ref_t*> [#uses=2]
 
-define %struct.NSArray* @newFetchedRowsForFetchPlan_MT(%struct.FetchPlanHeader* %fetchPlan, %struct.objc_selector* %selectionMethod, %struct.NSObject* %selectionParameter) ssp {
+define %struct.NSArray* @newFetchedRowsForFetchPlan_MT(%struct.FetchPlanHeader* %fetchPlan, %struct.objc_selector* %selectionMethod, %struct.NSObject* %selectionParameter) ssp personality i32 (...)* @__gxx_personality_v0 {
 entry:
        %0 = invoke %struct.NSObject* null(%struct.NSObject* null, %struct._message_ref_t* @"\01l_objc_msgSend_fixup_alloc")
                        to label %invcont unwind label %lpad            ; <%struct.NSObject*> [#uses=1]
 
 invcont:               ; preds = %entry
-       %1 = invoke %struct.NSObject* (%struct.NSObject*, %struct.objc_selector*, ...)* @objc_msgSend(%struct.NSObject* %0, %struct.objc_selector* null)
+       %1 = invoke %struct.NSObject* (%struct.NSObject*, %struct.objc_selector*, ...) @objc_msgSend(%struct.NSObject* %0, %struct.objc_selector* null)
                        to label %invcont26 unwind label %lpad          ; <%struct.NSObject*> [#uses=0]
 
 invcont26:             ; preds = %invcont
@@ -28,42 +28,11 @@ invcont27:          ; preds = %invcont26
 
 lpad:          ; preds = %invcont26, %invcont, %entry
        %pool.1 = phi %struct.NSAutoreleasePool* [ null, %entry ], [ null, %invcont ], [ null, %invcont26 ]             ; <%struct.NSAutoreleasePool*> [#uses=0]
+        %exn = landingpad {i8*, i32}
+                 cleanup
        unreachable
 }
 
 declare %struct.NSObject* @objc_msgSend(%struct.NSObject*, %struct.objc_selector*, ...)
-; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin | not grep jmp
-; rdar://6647639
-; XFAIL: *
-
-       %struct.FetchPlanHeader = type { i8*, i8*, i32, i8*, i8*, i8*, i8*, i8*, %struct.NSObject* (%struct.NSObject*, %struct.objc_selector*, ...)*, %struct.__attributeDescriptionFlags }
-       %struct.NSArray = type { %struct.NSObject }
-       %struct.NSAutoreleasePool = type { %struct.NSObject, i8*, i8*, i8*, i8* }
-       %struct.NSObject = type { %struct.NSObject* }
-       %struct.__attributeDescriptionFlags = type <{ i32 }>
-       %struct._message_ref_t = type { %struct.NSObject* (%struct.NSObject*, %struct._message_ref_t*, ...)*, %struct.objc_selector* }
-       %struct.objc_selector = type opaque
-@"\01l_objc_msgSend_fixup_alloc" = external global %struct._message_ref_t, align 16            ; <%struct._message_ref_t*> [#uses=2]
-
-define %struct.NSArray* @newFetchedRowsForFetchPlan_MT(%struct.FetchPlanHeader* %fetchPlan, %struct.objc_selector* %selectionMethod, %struct.NSObject* %selectionParameter) ssp {
-entry:
-       %0 = invoke %struct.NSObject* null(%struct.NSObject* null, %struct._message_ref_t* @"\01l_objc_msgSend_fixup_alloc")
-                       to label %invcont unwind label %lpad            ; <%struct.NSObject*> [#uses=1]
-
-invcont:               ; preds = %entry
-       %1 = invoke %struct.NSObject* (%struct.NSObject*, %struct.objc_selector*, ...)* @objc_msgSend(%struct.NSObject* %0, %struct.objc_selector* null)
-                       to label %invcont26 unwind label %lpad          ; <%struct.NSObject*> [#uses=0]
-
-invcont26:             ; preds = %invcont
-       %2 = invoke %struct.NSObject* null(%struct.NSObject* null, %struct._message_ref_t* @"\01l_objc_msgSend_fixup_alloc")
-                       to label %invcont27 unwind label %lpad          ; <%struct.NSObject*> [#uses=0]
 
-invcont27:             ; preds = %invcont26
-       unreachable
-
-lpad:          ; preds = %invcont26, %invcont, %entry
-       %pool.1 = phi %struct.NSAutoreleasePool* [ null, %entry ], [ null, %invcont ], [ null, %invcont26 ]             ; <%struct.NSAutoreleasePool*> [#uses=0]
-       unreachable
-}
-
-declare %struct.NSObject* @objc_msgSend(%struct.NSObject*, %struct.objc_selector*, ...)
+declare i32 @__gxx_personality_v0(...)