// RUN: %clang_cc1 %s -triple i686-pc-win32 -fms-extensions -fexceptions -fcxx-exceptions -emit-llvm -o - -std=c++11 | FileCheck %s

int f(int);

void test_catch() {
  try {
    f(1);
  } catch (int) {
    f(2);
  } catch (double) {
    f(3);
  }
}

// CHECK-LABEL: define dso_local void @"?test_catch@@YAXXZ"(
// CHECK:   invoke noundef i32 @"?f@@YAHH@Z"(i32 noundef 1)
// CHECK:         to label %[[NORMAL:.*]] unwind label %[[CATCHSWITCH:.*]]

// CHECK: [[CATCHSWITCH]]
// CHECK:   %[[CATCHSWITCHPAD:.*]] = catchswitch within none [label %[[CATCH_INT:.*]], label %[[CATCH_DOUBLE:.*]]] unwind to caller

// CHECK: [[CATCH_INT]]
// CHECK:   %[[CATCHPAD_INT:.*]] = catchpad within %[[CATCHSWITCHPAD]] [ptr @"??_R0H@8", i32 0, ptr null]
// CHECK:   call noundef i32 @"?f@@YAHH@Z"(i32 noundef 2)
// CHECK:   catchret from %[[CATCHPAD_INT]] to label %[[LEAVE_INT_CATCH:.*]]

// CHECK: [[LEAVE_INT_CATCH]]
// CHECK:   br label %[[LEAVE_FUNC:.*]]

// CHECK: [[LEAVE_FUNC]]
// CHECK:   ret void

// CHECK: [[CATCH_DOUBLE]]
// CHECK:   %[[CATCHPAD_DOUBLE:.*]] = catchpad within %[[CATCHSWITCHPAD]] [ptr @"??_R0N@8", i32 0, ptr null]
// CHECK:   call noundef i32 @"?f@@YAHH@Z"(i32 noundef 3)
// CHECK:   catchret from %[[CATCHPAD_DOUBLE]] to label %[[LEAVE_DOUBLE_CATCH:.*]]

// CHECK: [[LEAVE_DOUBLE_CATCH]]
// CHECK:   br label %[[LEAVE_FUNC]]

// CHECK: [[NORMAL]]
// CHECK:   br label %[[LEAVE_FUNC]]

struct Cleanup {
  ~Cleanup() { f(-1); }
};

void test_cleanup() {
  Cleanup C;
  f(1);
}

// CHECK-LABEL: define dso_local {{.*}} @"?test_cleanup@@YAXXZ"(
// CHECK:   invoke noundef i32 @"?f@@YAHH@Z"(i32 noundef 1)
// CHECK:           to label %[[LEAVE_FUNC:.*]] unwind label %[[CLEANUP:.*]]

// CHECK: [[LEAVE_FUNC]]
// CHECK:   call x86_thiscallcc void @"??1Cleanup@@QAE@XZ"(
// CHECK:   ret void

// CHECK: [[CLEANUP]]
// CHECK:   %[[CLEANUPPAD:.*]] = cleanuppad within none []
// CHECK:   call x86_thiscallcc void @"??1Cleanup@@QAE@XZ"(
// CHECK:   cleanupret from %[[CLEANUPPAD]] unwind to caller


// CHECK-LABEL: define {{.*}} void @"??1Cleanup@@QAE@XZ"(
// CHECK:   invoke noundef i32 @"?f@@YAHH@Z"(i32 noundef -1)
// CHECK:           to label %[[LEAVE_FUNC:.*]] unwind label %[[TERMINATE:.*]]

// CHECK: [[LEAVE_FUNC]]
// CHECK:   ret void

// CHECK: [[TERMINATE]]
// CHECK:   %[[CLEANUPPAD:.*]] = cleanuppad within none []
// CHECK-NEXT:   call void @"?terminate@@YAXXZ"() {{.*}} [ "funclet"(token %[[CLEANUPPAD]]) ]

