// RUN: %clang_cc1 -fsyntax-only -verify %s | |
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++98 %s | |
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s | |
template<typename T> | |
class X0 { | |
friend T; | |
#if __cplusplus <= 199711L // C++03 or earlier modes | |
// expected-warning@-2{{non-class friend type 'T' is a C++11 extension}} | |
#else | |
// expected-no-diagnostics | |
#endif | |
}; | |
class X1 { }; | |
enum E1 { }; | |
X0<X1> x0a; | |
X0<X1 *> x0b; | |
X0<int> x0c; | |
X0<E1> x0d; | |