fix regression with compilers not incorporating C99 DR#289 resolution
authorRich Felker <dalias@aerifal.cx>
Thu, 13 Sep 2018 04:03:20 +0000 (00:03 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 13 Sep 2018 04:03:20 +0000 (00:03 -0400)
as originally published, the C99 syntax only allowed static index
parameter declarators when a gratuitous parameter name was included.
gcc 3, which some projects use for bootstrapping, is a supported C99
compiler, but does not have the fix to the standard incorporated, so
edit the affected declaration to conform to the earlier buggy C99
syntax.

src/internal/syscall.h

index da70ce9..06c5527 100644 (file)
@@ -244,7 +244,7 @@ hidden long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...),
 #define __sys_open_cp(...) __SYSCALL_DISP(__sys_open_cp,,__VA_ARGS__)
 #define sys_open_cp(...) __syscall_ret(__sys_open_cp(__VA_ARGS__))
 
 #define __sys_open_cp(...) __SYSCALL_DISP(__sys_open_cp,,__VA_ARGS__)
 #define sys_open_cp(...) __syscall_ret(__sys_open_cp(__VA_ARGS__))
 
-hidden void __procfdname(char [static 15+3*sizeof(int)], unsigned);
+hidden void __procfdname(char __buf[static 15+3*sizeof(int)], unsigned);
 
 hidden void *__vdsosym(const char *, const char *);
 
 
 hidden void *__vdsosym(const char *, const char *);