/* PR middle-end/18820 */ /* Check that we reject nested functions as initializers of static variables. */ /* { dg-do compile } */ /* { dg-options "" } */ struct S { void (*f)(int); }; extern void baz(struct S *); extern void p(int); void foo(void) { int u; void bar(int val) { u = val; } static struct S s = { bar }; /* { dg-error "(is not constant)|(near initialization)" } */ baz(&s); p(u); }