21 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s2// RUN: %clang_cc1 -fsyntax-only -verify -std=c++98 %s3// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s4template<typename T>5class X0 {6 friend T;7#if __cplusplus <= 199711L // C++03 or earlier modes8 // expected-warning@-2{{non-class friend type 'T' is a C++11 extension}}9#else10 // expected-no-diagnostics11#endif12};13 14class X1 { };15enum E1 { };16X0<X1> x0a;17X0<X1 *> x0b;18X0<int> x0c;19X0<E1> x0d;20 21