Dear coreboot folks,
Using GCC 4.9.2 coreboot fails to build for certain boards, whose code uses ‘for’ loop initial declarations.
``` $ gcc --version gcc (Debian 4.9.2-10) 4.9.2 […] $ make # lenovo/x60 with native graphics initialization […] CC ramstage/northbridge/intel/i945/gma.o src/northbridge/intel/i945/gma.c: In function 'probe_edid': src/northbridge/intel/i945/gma.c:570:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode for (int i = 0; i < 8; i++) { ^ src/northbridge/intel/i945/gma.c:570:2: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code Makefile:316: recipe for target 'build/ramstage/northbridge/intel/i945/gma.o' failed make: *** [build/ramstage/northbridge/intel/i945/gma.o] Error 1 ```
As Linux has switched to C99 in version 3.18, I suggest that coreboot also explicitly sets that in the Makefiles, so that code can easily be copied and so that there is no dependency on the compiler default.
Are there any objections?
Thanks,
Paul