brintos

brintos / llvm-project-archived public Read only

0
0
Text · 803 B · 0a77523 Raw
32 lines · cpp
1// RUN: %clang_cc1 -emit-llvm %s -o - -triple=i386-pc-win32 -fexceptions -fcxx-exceptions -fexternc-nounwind -Wno-dynamic-exception-spec %std_cxx98- | FileCheck %s2 3namespace test1 {4struct Cleanup { ~Cleanup(); };5extern "C" void never_throws();6void may_throw();7 8void caller() {9  Cleanup x;10  never_throws();11  may_throw();12}13}14// CHECK-LABEL: define dso_local void @"?caller@test1@@YAXXZ"(15// CHECK: call void @never_throws(16// CHECK: invoke void @"?may_throw@test1@@YAXXZ"(17 18namespace test2 {19struct Cleanup { ~Cleanup(); };20extern "C" void throws_int() throw(int);21void may_throw();22 23void caller() {24  Cleanup x;25  throws_int();26  may_throw();27}28}29// CHECK-LABEL: define dso_local void @"?caller@test2@@YAXXZ"(30// CHECK: invoke void @throws_int(31// CHECK: invoke void @"?may_throw@test2@@YAXXZ"(32