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