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.

Reply via email to