bug report: cpp dependencies

Marc-Peter.Schambach Marc-Peter.Schambach@kst.siemens.de
Fri Mar 10 05:23:00 GMT 2000


Hello.

gcc(cpp) produces a wrong *.d dependency file when compiling
preprocessed fortran *.F files:

The dependcy looks like this:
test.F.o: test.F test.h

instead of:
test.o: test.F test.h



Example:

> gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)

> ls
test.F   test.h

> cat test.F
        program a
#include "test.h"
        print *, text
        END

> cat test.h
        character*(*) text
        parameter (text='Hello, Bug!')

> gcc -c -MMD test.F

> ls
test.F   test.d   test.h   test.o

> cat test.d
test.F.o: test.F test.h


>  gcc -v -c -MMD test.F
Reading specs from /usr/lib/gcc-lib/i486-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
 /usr/lib/gcc-lib/i486-linux/egcs-2.91.66/cpp -lang-c -v -MMD test.d
-undef -D__GNUC__=2 -D__GNUC_MINOR__=91 -D__ELF__ -D__unix__ -D__i386__
-D__i386__ -D__linux__ -D__unix -D__i386 -D__linux -Asystem(posix)
-D_LANGUAGE_FORTRAN -traditional -Asystem(unix) -Acpu(i386)
-Amachine(i386) -Di386 -D__i386 -D__i386__ -D__tune_i486__ test.F
/tmp/cc6REdHE.i
GNU CPP version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release) (i386
Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/i486-linux/include
 /usr/lib/gcc-lib/i486-linux/egcs-2.91.66/include
 /usr/include
End of search list.
 /usr/lib/gcc-lib/i486-linux/egcs-2.91.66/f771 /tmp/cc6REdHE.i -quiet
-dumpbase test.F -version -fversion -o /tmp/ccgBI0xe.s
GNU F77 version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
(i486-linux) compiled by GNU C version egcs-2.91.66 19990314/Linux
(egcs-1.1.2 release).
GNU Fortran Front End version 0.5.24-19981002
 /usr/i486-linux/bin/as -V -Qy -o test.o /tmp/ccgBI0xe.s
GNU assembler version 2.9.1 (i486-linux), using BFD version 2.9.1.0.25


More information about the Gcc-bugs mailing list