// exception specification.
if (CheckDistantExceptionSpec(T)) {
Diag(Loc, diag::err_distant_exception_spec);
-
- // FIXME: If we're doing this as part of template instantiation,
- // we should return immediately.
-
- // Build the type anyway, but use the canonical type so that the
- // exception specifiers are stripped off.
- T = Context.getCanonicalType(T);
+ return QualType();
}
// C++ 8.3.3p3: A pointer to member shall not point to ... a member
int A::*pdi1;
int (::A::*pdi2);
int (A::*pfi)(int);
+void (*A::*ppfie)() throw(); // expected-error {{exception specifications are not allowed beyond a single level of indirection}}
int B::*pbi; // expected-warning{{use of enumeration in a nested name specifier is a C++11 extension}} \
// expected-error {{'pbi' does not point into a class}}