https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121907

--- Comment #2 from Alejandro Colomar <foss+...@alejandro-colomar.es> ---
Another possibility would be to remove auto-as-static without replacement.

Declaring nested functions is dangerous.  What's the point of being able to
declare them if it's not yet valid to call them?


alx@debian:~/tmp$ cat nested.c | nl -ba
     1  int
     2  main(int argc, char *[])
     3  {
     4          int n;
     5          auto int f(void);
     6  
     7          n = f();
     8  
     9          int v[argc];
    10  
    11          auto int f(void)
    12          {
    13                  return sizeof(v);
    14          }
    15  
    16          return n;
    17  }
alx@debian:~/tmp$ gcc -Wall -Wextra nested.c 
alx@debian:~/tmp$ ./a.out 1 1 1 1; echo $?
0

Reply via email to