-
Read multiple top-level source
files, generate single assembler file.
-
Equivalent to multiple compiles plus linking
resulting object files.
-
Speeds up compilation, enables inter-module optimizations.
-
Needs to re-initialize front-end for each source file,
without re-initializing back-end.
-
Both
gcc
and cc1
changes.
-
Mostly works, but some issues remain, such as renaming statics.
-
gcj
has supported this mode for a while in an ad hoc manner.