13573b2c84372d9484296fa658f5276f6c09acb92Daniel Dunbar// RUN: %clang_cc1 -fsyntax-only -verify %s 22ae1d770afc17f52a4434b492cf6ea685a724092Douglas Gregor 32ae1d770afc17f52a4434b492cf6ea685a724092Douglas Gregortemplate<typename T> typedef T X; // expected-error{{typedef cannot be a template}} 4befd3eac9dd217a76f139bddc714f35e26688467Douglas Gregor 5befd3eac9dd217a76f139bddc714f35e26688467Douglas Gregortemplate<typename T> 6befd3eac9dd217a76f139bddc714f35e26688467Douglas Gregorenum t0 { A = T::x }; // expected-error{{enumeration cannot be a template}} \ 770215ec6c46b8d5a701be9ce33e5a11d91d82d0eDouglas Gregor // expected-warning{{declaration does not declare anything}} 8befd3eac9dd217a76f139bddc714f35e26688467Douglas Gregor 901180a6381cdab52da3c9d4dbd90d7595fbc0f10Douglas Gregorenum e0 {}; 1001180a6381cdab52da3c9d4dbd90d7595fbc0f10Douglas Gregortemplate<int x> enum e0 f0(int a=x) {} 11