// RUN: %clang_cc1 -triple x86_64-windows -fasync-exceptions -fcxx-exceptions -fexceptions -fms-extensions -x c++ -Wno-implicit-function-declaration -emit-llvm %s -o - | FileCheck %s

// CHECK: define dso_local void @"?crash@@YAXH@Z
// CHECK: invoke void @llvm.seh.try.begin()
// CHECK: invoke void @llvm.seh.scope.begin()
// CHECK: invoke void @llvm.seh.scope.end()

// CHECK: %[[dst:[0-9-]+]] = catchswitch within none [label %catch] unwind to caller
// CHECK: %[[dst1:[0-9-]+]] = catchpad within %[[dst]] [ptr null, i32 0, ptr null]
// CHECK: "funclet"(token %[[dst1]])

// CHECK: define dso_local void @"?bar@@YAXXZ
// CHECK: invoke void @llvm.seh.try.begin()
// CHECK: invoke void @_CxxThrowException
// CHECK: %[[dst:[0-9-]+]] = catchpad within %0 [ptr null, i32 0, ptr null]
// CHECK: invoke void @llvm.seh.try.begin() [ "funclet"(token %[[dst]]) ]

// CHECK: invoke void @llvm.seh.try.begin()
// CHECK: %[[src:[0-9-]+]] = load volatile i32, ptr %i
// CHECK-NEXT: invoke void @"?crash@@YAXH@Z"(i32 noundef %[[src]])
// CHECK: invoke void @llvm.seh.try.end()

// CHECK: invoke void @llvm.seh.try.begin()
// CHECK: invoke void @"?bar@@YAXXZ"()
// CHECK: invoke void @llvm.seh.try.end()

// *****************************************************************************
// Abstract:     Test CPP catch(...) under SEH -EHa option

void printf(...);
int volatile *NullPtr = 0;
void foo() {
  *NullPtr = 0;
}
int *pt1, *pt2, *pt3;
int g;
void crash(int i) {
  g = i;
  try {
    struct A {
      A() {
        printf(" in A ctor \n");
        if (g == 0)
          *NullPtr = 0;
      }
      ~A() {
        printf(" in A dtor \n");
      }
    } ObjA;
    if (i == 1)
      *NullPtr = 0;
  } catch (...) {
    printf(" in catch(...) funclet \n");
    if (i == 1)
      throw(i);
  }
}

void bar() {
  try {
    throw 1;
  } catch(...) {
    try {
      *NullPtr = 0;
    } catch (...) {
       throw 1;
    }
  }
}

int main() {
  for (int i = 0; i < 2; i++) {
    __try {
      crash(i);
    } __except (1) {
      printf(" Test CPP unwind: in except handler i = %d \n", i);
    }
  }
  __try {
   bar();
  } __except (1) {
    printf("Test CPP unwind: in except handler \n");
  }
  return 0;
}
