34 lines
568 B
C++
34 lines
568 B
C++
|
// RUN: %clang_cc1 -fcxx-exceptions -fexceptions %s -triple=i686-unknown-linux -emit-llvm -o - | FileCheck %s
|
||
|
typedef int Array[10];
|
||
|
|
||
|
void foo() throw (Array) {
|
||
|
throw 0;
|
||
|
// CHECK: landingpad
|
||
|
// CHECK-NEXT: filter {{.*}} @_ZTIPi
|
||
|
}
|
||
|
|
||
|
struct S {
|
||
|
void foo() throw (S[10]) {
|
||
|
throw 0;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
template <typename T>
|
||
|
struct S2 {
|
||
|
void foo() throw (T) {
|
||
|
throw 0;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
int main() {
|
||
|
S s;
|
||
|
s.foo();
|
||
|
// CHECK: landingpad
|
||
|
// CHECK-NEXT: filter {{.*}} @_ZTIP1S
|
||
|
|
||
|
S2 <int[10]> s2;
|
||
|
s2.foo();
|
||
|
// CHECK: landingpad
|
||
|
// CHECK-NEXT: filter {{.*}} @_ZTIPi
|
||
|
}
|