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