https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91839
--- Comment #1 from tangyixuan <tangyixuan at mail dot dlut.edu.cn> --- Hi, there still exists the above error defect in recent GCC: no error suggestions about ‘l_2’. The reduced code is as follow: static long a //error static int f1(void; //error static int f1(void) { int l_24[0] = {0}; return l_2[0]; //error } $ gcc-trunk -c s.c s.c:1:14: error: expected ‘;’ before ‘static’ 1 | static long a //error | ^ | ; 2 | static int f1(void; //error | ~~~~~~ s.c:3:13: error: storage class specified for parameter ‘f1’ 3 | static int f1(void) | ^~ s.c:4:1: error: expected ‘;’, ‘,’ or ‘)’ before ‘{’ token 4 | { | ^ $ gcc-trunk -version Target: x86_64-pc-linux-gnu Configured with: ../gcc-10-20191124/configure --prefix=/usr/local/gcc-20191124 --enable-checking=release --enable-languages=c,c++ --disable-multilib Thread model: posix Supported LTO compression algorithms: zlib gcc version 10.0.0 20191124 (experimental) (GCC) Best regards