public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "kirr at landau dot phys dot spbu dot ru" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/43954] New: gfortran-4.4 does not support -Wp, -MD for *.F (4.3 -> 4.4 regression, needed for auto-dependencies) Date: Sat, 01 May 2010 17:23:00 -0000 [thread overview] Message-ID: <bug-43954-19117@http.gcc.gnu.org/bugzilla/> (raw) Hello, Like with gcc and g++, for compiling .F sources with gfortran, I thankfully use automatic dependencies generator built into gcc's cpp. E.g. for $ cat test.F #include "test.h" program test print *,'Hello World!' print *,ZZZ end $ cat test.h #define ZZZ 'Hello up there qqq!' gfortran-4.3 correctly generates .d file for make: $ gfortran-4.3 -Wp,-MD,test.d test.F $ cat test.d test.o: test.F test.h but gfortran-4.4 fails: $ rm test.d $ gfortran-4.4 -Wp,-MD,test.d test.F f951: warning: command line option "-MD" is valid for C/C++/ObjC/ObjC++ but not for Fortran $ cat test.d cat: test.d: No such file or directory I think gfortran-4.4 behaviour is incorrect, since .F files (contrast with .f) by definition should be passed through preprocessor, and if so, why dropping automatic dependencies generation which worked in 4.3? I guess the regression is somehow related to the fact, that starting from gcc-4.4, "GNU Fortran now employs libcpp directly instead of using cc1 as an external preprocessor." [1] $ gfortran-4.3 -v -Wp,-MD,test.d test.F Driving: gfortran-4.3 -v -Wp,-MD,test.d test.F -lgfortranbegin -lgfortran -lm -shared-libgcc ... gcc version 4.3.4 (Debian 4.3.4-6) COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic' /usr/lib/gcc/i486-linux-gnu/4.3.4/cc1 -E -lang-fortran -traditional-cpp -D_LANGUAGE_FORTRAN -quiet -v -MD test.d test.F -mtune=generic -o /tmp/cclR3nYK.f ... /usr/lib/gcc/i486-linux-gnu/4.3.4/f951 /tmp/cclR3nYK.f -ffixed-form -quiet -dumpbase test.F -mtune=generic -auxbase test -version -fpreprocessed -fintrinsic-modules-path /usr/lib/gcc/i486-linux-gnu/4.3.4/finclude -o /tmp/cc0ZnWFl.s (compare to) $ gfortran-4.4 -v -Wp,-MD,test.d test.F Driving: gfortran-4.4 -v -Wp,-MD,test.d test.F -lgfortranbegin -lgfortran -lm -shared-libgcc ... gcc version 4.4.3 20100108 (prerelease) (Debian 4.4.2-9) COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=generic' '-march=i486' /usr/lib/gcc/i486-linux-gnu/4.4.3/f951 test.F -ffixed-form -cpp /tmp/ccE2JRYl.f90 -quiet -v -MD test.d test.F -quiet -dumpbase test.F -mtune=generic -march=i486 -auxbase test -version -fintrinsic-modules-path /usr/lib/gcc/i486-linux-gnu/4.4.3/finclude -o /tmp/ccwptNMx.s f951: warning: command line option "-MD" is valid for C/C++/ObjC/ObjC++ but not for Fortran And since -MD was declared to be C/C++/ObjC/ObjC++ only option for ages (at least since 2003-06-01 d821d2 in gcc.git), now for 4.4. it does not work. It worked for 4.3 because there `cc1 -E` is explicitly called as separate step... And for 4.4. calling cc1 explicitly works too $ /usr/lib/gcc/i486-linux-gnu/4.4.3/cc1 -E -D_LANGUAGE_FORTRAN -quiet -v -MD test.d test.F -o test.f $ cat test.d test.o: test.F test.h but is of no help because cc1 is internal. -------- Clearly this is functional regression to me. If possible please fix. Thanks beforehand, Kirill P.S. this is somehow related to bug #31588 [1] http://gcc.gnu.org/gcc-4.4/changes.html [2] http://git.infradead.org/gcc.git/commit/d821d2e95e00a93f2edb5f6d3decc9c83ceb9c61 $ gfortran-4.4 -v Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.2-9' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-targets=all --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu Thread model: posix gcc version 4.4.3 20100108 (prerelease) (Debian 4.4.2-9) -- Summary: gfortran-4.4 does not support -Wp, -MD for *.F (4.3 -> 4.4 regression, needed for auto-dependencies) Product: gcc Version: 4.4.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kirr at landau dot phys dot spbu dot ru GCC build triplet: i486-linux-gnu GCC host triplet: i486-linux-gnu GCC target triplet: i486-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43954
next reply other threads:[~2010-05-01 17:23 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-05-01 17:23 kirr at landau dot phys dot spbu dot ru [this message] 2010-05-03 18:09 ` [Bug fortran/43954] " dfranke at gcc dot gnu dot org 2010-05-03 19:23 ` kirr at landau dot phys dot spbu dot ru 2010-05-03 19:45 ` dfranke at gcc dot gnu dot org 2010-05-04 7:45 ` kirr at landau dot phys dot spbu dot ru 2010-05-04 16:46 ` kargl at gcc dot gnu dot org 2010-05-05 16:24 ` kirr at landau dot phys dot spbu dot ru 2010-06-13 16:06 ` dfranke at gcc dot gnu dot org 2010-06-13 16:09 ` dfranke at gcc dot gnu dot org 2010-06-28 18:04 ` kirr at landau dot phys dot spbu dot ru 2010-06-28 18:05 ` kirr at landau dot phys dot spbu dot ru 2010-06-28 18:06 ` kirr at landau dot phys dot spbu dot ru 2010-08-07 10:49 ` kirr at landau dot phys dot spbu dot ru 2010-08-07 11:25 ` [Bug fortran/43954] [4.3/4.4 regression] gfortran does not support -Wp, -MD for *.F mikael at gcc dot gnu dot org 2010-08-07 13:27 ` kirr at landau dot phys dot spbu dot ru 2010-08-07 15:44 ` jvdelisle at gcc dot gnu dot org 2010-08-07 16:52 ` jvdelisle at gcc dot gnu dot org 2010-08-07 18:18 ` [Bug fortran/43954] [4.4 " mikael at gcc dot gnu dot org 2010-08-07 18:22 ` kirr at landau dot phys dot spbu dot ru 2010-08-07 18:26 ` jvdelisle at verizon dot net 2010-08-08 1:59 ` jvdelisle at gcc dot gnu dot org 2010-08-08 5:29 ` jvdelisle at gcc dot gnu dot org 2010-08-08 9:20 ` kirr at landau dot phys dot spbu dot ru
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-43954-19117@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).