Your message dated Sun, 21 Jul 2013 21:07:49 +0200 with message-id <E1V0yyz-0007mR-9e@goedel.fjf.gnu.de> and subject line Re: gcc-4.4: -MD leaves empty .d file on preprocessor error has caused the Debian Bug report #591914, regarding gcc-4.4: -MD leaves empty .d file on preprocessor error to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 591914: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=591914 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: gcc-4.4: -MD leaves empty .d file on preprocessor error
- From: Frank Heckenbach <f.heckenbach@fh-soft.de>
- Date: Fri, 6 Aug 2010 15:01:10 +0200
- Message-id: <1281099670.26460.400652@goedel.fjf.gnu.de>
Package: gcc-4.4 Version: 4.4.4-7 Severity: normal Tags: upstream *** Please type your report below this line *** If gcc is invoked with "-MD", and a preprocessor error occurs, an empty dependency file is left. This leads to a problem in the following scenario: - program is compiled OK - a change in an included header causes a preprocessor error - next compilation fails (correctly), but leaves empty .d file - header is fixed - next compilation does nothing, because object/binary is still newer than C file, and because of the empty .d file, the dependency on the (newer) header is lost The attached file demonstrates this scenario (just "make" to run all steps, requires GNU make). A work-around (commented out in the example) is to remove the gcc output file (normally the object file, in the simplified example the binary) before calling gcc. But I think gcc should remove the .d file itself if it can't complete it due to an error. -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.34 (SMP w/1 CPU core) Locale: LANG=de_DE, LC_CTYPE=de_DE (charmap=ISO-8859-1) Shell: /bin/sh linked to /bin/dash Versions of packages gcc-4.4 depends on: ii binutils 2.20.1-12 The GNU assembler, linker and bina ii cpp-4.4 4.4.4-7 The GNU C preprocessor ii gcc-4.4-base 4.4.4-7 The GNU Compiler Collection (base ii libc6 2.11.2-2 Embedded GNU C Library: Shared lib ii libgcc1 1:4.4.4-7 GCC support library ii libgomp1 4.4.4-7 GCC OpenMP (GOMP) support library Versions of packages gcc-4.4 recommends: ii libc6-dev 2.11.2-2 Embedded GNU C Library: Developmen Versions of packages gcc-4.4 suggests: ii gcc-4.4-doc 4.4.4.nf1-1 documentation for the GNU compiler pn gcc-4.4-locales <none> (no description available) ii gcc-4.4-multilib 4.4.4-7 The GNU C compiler (multilib files pn libcloog-ppl0 <none> (no description available) pn libgcc1-dbg <none> (no description available) pn libgomp1-dbg <none> (no description available) pn libmudflap0-4.4-dev <none> (no description available) pn libmudflap0-dbg <none> (no description available) pn libppl-c2 <none> (no description available) pn libppl7 <none> (no description available) -- no debconf informationAttachment: Makefile
Description: Binary data#include <stdio.h> #include "foo.h" int main () { puts (S); return 0; }
--- End Message ---
--- Begin Message ---
- To: 591914-done@bugs.debian.org
- Subject: Re: gcc-4.4: -MD leaves empty .d file on preprocessor error
- From: Frank Heckenbach <f.heckenbach@fh-soft.de>
- Date: Sun, 21 Jul 2013 21:07:49 +0200
- Message-id: <E1V0yyz-0007mR-9e@goedel.fjf.gnu.de>
Seems to be fixed in 4.7.2
--- End Message ---