16f4596cfb70ec706dd2da38db1be3663c214ff7aDouglas Gregor// RUN: %clang_cc1 -fsyntax-only -verify %s 26f4596cfb70ec706dd2da38db1be3663c214ff7aDouglas Gregor 333deb35535aebe81bed0eaf5c14f3032276a086eSebastian Redl// Test that a very basic variation of generalized initializer returns (that 45b38a0f98e4420dae1bd3e13959bc207c97a9e98Sebastian Redl// required for libstdc++ 4.5) is supported in C++98. 56f4596cfb70ec706dd2da38db1be3663c214ff7aDouglas Gregor 66f4596cfb70ec706dd2da38db1be3663c214ff7aDouglas Gregorint test0(int i) { 70e2c34f92f00628d48968dfea096d36381f494cbStephen Hines return { i }; // expected-warning{{generalized initializer lists are a C++11 extension}} expected-warning {{scalar}} 86f4596cfb70ec706dd2da38db1be3663c214ff7aDouglas Gregor} 96f4596cfb70ec706dd2da38db1be3663c214ff7aDouglas Gregor 106f4596cfb70ec706dd2da38db1be3663c214ff7aDouglas Gregortemplate<typename T, typename U> 116f4596cfb70ec706dd2da38db1be3663c214ff7aDouglas GregorT test1(U u) { 1233deb35535aebe81bed0eaf5c14f3032276a086eSebastian Redl return { u }; // expected-warning{{generalized initializer lists are a C++11 extension}} 136f4596cfb70ec706dd2da38db1be3663c214ff7aDouglas Gregor} 146f4596cfb70ec706dd2da38db1be3663c214ff7aDouglas Gregor 156f4596cfb70ec706dd2da38db1be3663c214ff7aDouglas Gregortemplate int test1(char); 166f4596cfb70ec706dd2da38db1be3663c214ff7aDouglas Gregortemplate long test1(int); 17