1 // PR c++/57408 2 // { dg-do compile { target c++11 } } 3 // { dg-options "-Wno-vla" } 4 5 template<typename Callable> 6 struct Impl 7 { 8 Callable func; ImplImpl9 Impl(Callable f) : func(f) { } runImpl10 virtual void run() { func(); } 11 }; 12 13 template<typename Callable> call(Callable f)14void call(Callable f) 15 { 16 Impl<Callable>(f).run(); 17 } 18 19 extern "C" int printf(const char*, ...); 20 main()21int main(){ 22 int y = 2; 23 float fa[2][y]; 24 fa[0][0]=0.8; 25 fa[0][1]=1.8; 26 auto fx=[&](){ 27 for(int c=0; c<2; c++){ 28 printf("use me", fa[0][c]); // { dg-prune-output "sorry" } 29 } 30 }; 31 call(fx); 32 } 33