This doesn't work on my apple gcc. If you inspect with -v, it compiles each file in turn and writes to file.o, each file overwriting the one before it, rather than combining the three .c files into one .o.
I can think of some pretty good reasons to do this, including cross compilation-unit inlining. Is/should this be a supported feature? -- Summary: gcc file1.c file2.c file3.c -o file.o fails Product: gcc Version: 4.0.1 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: driver AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: iano at apple dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28877