Si desea un caso de uso del mundo real para esto, intente compilar una versión muy antigua de X Windows, digamos, XFree86 o XOrg de aproximadamente 2004, alrededor de la división, usando una versión "moderna" (tos) de gcc , como 4.9.3.
Notará que la compilación CFLAGS especifica tanto "-ansi" como "-pedantic". En teoría, esto significa "explotar si algo, aunque sea levemente, viola las especificaciones del idioma". En la práctica, la serie 3.x de gcc no captó mucho de ese tipo de cosas, y construirlo con 4.9.3 dejará un agujero humeante en el suelo a menos que establezca CFLAGS y BOOTSTRAPCFLAGS en "-fpermissive".
Usando esa bandera, la mayoría de esos archivos C realmente se construirán, dejándolo libre para pasar a los restos dependientes de la versión que generará el lexer. =]