1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
// RUN: %clang_cc1 -fcxx-exceptions -fexceptions %s -triple=i686-unknown-linux -emit-llvm -o - | FileCheck %s
typedef int Array[10];
void foo() throw (Array) {
throw 0;
// CHECK: landingpad
// CHECK-NEXT: filter {{.*}} @_ZTIPi
}
struct S {
void foo() throw (S[10]) {
throw 0;
}
};
template <typename T>
struct S2 {
void foo() throw (T) {
throw 0;
}
};
int main() {
S s;
s.foo();
// CHECK: landingpad
// CHECK-NEXT: filter {{.*}} @_ZTIP1S
S2 <int[10]> s2;
s2.foo();
// CHECK: landingpad
// CHECK-NEXT: filter {{.*}} @_ZTIPi
}
|