1762bb9d0ad20320b9f97a841dce57ba5e8e48b07Richard Smith// RUN: %clang_cc1 -fsyntax-only -pedantic -verify -std=c++11 %s 23e4c6c4c79a03f5cb0c4671d7c282d623c6dc35eRichard Smith 33e4c6c4c79a03f5cb0c4671d7c282d623c6dc35eRichard Smithtemplate<typename T> using U = int &; 4898574e7496ba8fd76290079d3a9d06954992734Douglas Gregor 5898574e7496ba8fd76290079d3a9d06954992734Douglas Gregortemplate<typename T, int Size> void f() { 6898574e7496ba8fd76290079d3a9d06954992734Douglas Gregor T x1; 7898574e7496ba8fd76290079d3a9d06954992734Douglas Gregor T* x2; 8898574e7496ba8fd76290079d3a9d06954992734Douglas Gregor T& x3; // expected-error{{declaration of reference variable 'x3' requires an initializer}} 96e8247556807ecaaac470852222762db998a05b2Sebastian Redl T x4[]; // expected-error{{needs an explicit size or an initializer}} 10898574e7496ba8fd76290079d3a9d06954992734Douglas Gregor T x5[Size]; 11898574e7496ba8fd76290079d3a9d06954992734Douglas Gregor int x6[Size]; 123e4c6c4c79a03f5cb0c4671d7c282d623c6dc35eRichard Smith U<T> x7; // expected-error{{declaration of reference variable 'x7' requires an initializer}} 13898574e7496ba8fd76290079d3a9d06954992734Douglas Gregor} 14