brintos

brintos / llvm-project-archived public Read only

0
0
Text · 763 B · 6102e0c Raw
32 lines · cpp
1// 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 %s2 3// CHECK: define dso_local void @"?foo@@YAXXZ4// CHECK: invoke void @llvm.seh.try.begin()5// CHECK-NOT: llvm.seh.scope.begin6// CHECK-NOT: llvm.seh.scope.end7 8// FIXME: Do we actually need llvm.seh.scope*?9void foo() {10  try {}11  catch (...) {12  return;13  }14}15 16__declspec(noreturn) void bar();17class baz {18public:19  ~baz();20};21 22// CHECK: define dso_local void @"?qux@@YAXXZ23// CHECK: invoke void @llvm.seh.scope.begin()24// CHECK-NOT: llvm.seh.try25// CHECK-NOT: llvm.seh.scope.end26 27// We don't need to generate llvm.seh.scope.end for unreachable.28void qux() {29  baz a;30  bar();31}32