Look at : [~/test]> ls mul.c
[~/test]> cat mul.c long long mul (long long a, long long b) { return a * b; } [~/test]> gcc -c -save-temps mul.c [~/test]> ls mul.c mul.o No assembly or preprocessed file produced. If I use -o : [~/test]> gcc -o mul -save-temps mul.c /usr/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../crt1.o: In function `_start': (.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status [~/test]> ls mul.c mul.i mul.o mul.s works as expected. -- Summary: -save-temps is broken on mainline Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: regression AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ismail at pardus dot org dot tr http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34221