I've reduced the problem to this: void foo(int X[static 20]);will compile but if you remove "X", it won't.The change was to replace "int" with "unsigned char" in the above test program, and the test started failing then in CentOS 5's gcc. I'd expect the same to happen for you also.
No, it will fail with both "int" and "unsigned char" without the dummy argument "X", and works for both if one is inserted. I don't know why -- perhaps a bug with my version of gcc. Joseph Tam <jtam.h...@gmail.com>