Compiling a valid C++ file with -frepo and then editing the file introducing bugs and then recompiling the file causes trouble:
For example: Create the file "bug.cc" with the contents =============== int i; =============== Compile this file with "g++ -frepo -c bug.cc". Then change the file to =============== int ; =============== and recompile it with the same command. With mainline I get: bug.cc:1: error: declaration does not declare anything bug.cc:1: fatal error: error writing to /tmp/ccp9FkBp.s: Bad file descriptor compilation terminated. With the 4.1 branch I get: bug.cc:1: error: declaration does not declare anything g++: Internal error: Segmentation fault (program cc1plus) Please submit a full bug report. [etc.] With the 4.0 branch I get: bug.cc:1: error: declaration does not declare anything *** glibc detected *** malloc(): memory corruption: 0x00002aaaab106010 *** bug.cc:1: internal compiler error: Aborted Please submit a full bug report, [etc.] With GCC 3.4.6 everything works fine, though. Deleting the *.rpo file before recompiling solves the problem. -- Summary: [4.0/4.1/4.2 regression] ICE with -frepo on invalid code Product: gcc Version: 4.2.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26917