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