// PR c++/57408 | |
// { dg-do compile { target c++11 } } | |
// { dg-options "-Wno-vla" } | |
template<typename Callable> | |
struct Impl | |
{ | |
Callable func; | |
Impl(Callable f) : func(f) { } | |
virtual void run() { func(); } | |
}; | |
template<typename Callable> | |
void call(Callable f) | |
{ | |
Impl<Callable>(f).run(); | |
} | |
extern "C" int printf(const char*, ...); | |
int main(){ | |
int y = 2; | |
float fa[2][y]; | |
fa[0][0]=0.8; | |
fa[0][1]=1.8; | |
auto fx=[&](){ | |
for(int c=0; c<2; c++){ | |
printf("use me", fa[0][c]); // { dg-prune-output "sorry" } | |
} | |
}; | |
call(fx); | |
} |