https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105410
Bug ID: 105410 Summary: gm2 doesn't always honor -save-temps Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: modula2 Assignee: gaius at gcc dot gnu.org Reporter: ro at gcc dot gnu.org Target Milestone: --- While investigating the ICE in PR middle-end/105409, I noticed that gm2 doesn't always honor -save-temps: in the output from /var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/gcc/gm2 -B/var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/gcc -I/var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/sparcv9-sun-solaris2.11/sparcv8plus/libgm2/libm2pim:/vol/gcc/src/hg/master/modula-2/gcc/testsuite/../m2/gm2-libs -I/var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/sparcv9-sun-solaris2.11/sparcv8plus/libgm2/libm2iso:/vol/gcc/src/hg/master/modula-2/gcc/testsuite/../m2/gm2-libs-iso -I/vol/gcc/src/hg/master/modula-2/gcc/testsuite/gm2/calling-c/datatypes/unbounded/run/pass -fpim -L/var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/sparcv9-sun-solaris2.11/sparcv8plus/libgm2/libm2pim/.libs -L/var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/sparcv9-sun-solaris2.11/sparcv8plus/libgm2/libm2iso/.libs -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-color=never /vol/gcc/src/hg/master/modula-2/gcc/testsuite/gm2/calling-c/datatypes/unbounded/run/pass/m.mod c.o -m32 -L/var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/sparcv9-sun-solaris2.11/sparcv8plus/libstdc++-v3/src/.libs -L/var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/sparcv9-sun-solaris2.11/sparcv8plus/libstdc++-v3/src/.libs -L/var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/sparcv9-sun-solaris2.11/sparcv8plus/libgm2/libm2min/.libs -L/var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/sparcv9-sun-solaris2.11/sparcv8plus/libgm2/libm2pim/.libs -L/var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/sparcv9-sun-solaris2.11/sparcv8plus/libgm2/libm2cor/.libs -L/var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/sparcv9-sun-solaris2.11/sparcv8plus/libgm2/libm2log/.libs -L/var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/sparcv9-sun-solaris2.11/sparcv8plus/libgm2/libm2iso/.libs -lm2pim -lm2iso -lpthread -lm -o /var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/gcc/testsuite/gm2/m.x0 -v -save-temps I found that m.x0-m_m2.cpp is first created using /var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/gcc/gm2lgen -fcpp /var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/gcc/testsuite/gm2/m.x0-m.lst -o /var/gcc/gcc-12.0.1-20220424/11.4-gm2-64-g3/gcc/testsuite/gm2/m.x0-m_m2.cpp and then passed to cc1plus. However, even with -save-temps the file is removed afterwards so one has to dig up the gm2lgen command line from the gm2 -v output and recreate it manually.