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