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