1e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// RUN: %clang_cc1 -fsyntax-only -verify %s 2e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate<typename T> 3e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottclass X0 { 4e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott friend T; // expected-warning{{non-class friend type 'T' is a C++11 extension}} 5e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott}; 6e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 7e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottclass X1 { }; 8e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottenum E1 { }; 9e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottX0<X1> x0a; 10e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottX0<X1 *> x0b; 11e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottX0<int> x0c; 12e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottX0<E1> x0d; 13e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 14e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott