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