This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug driver/22231] New: -MG ignores missing headers even with -c
- From: "js at linuxtv dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Jun 2005 13:53:58 -0000
- Subject: [Bug driver/22231] New: -MG ignores missing headers even with -c
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
I just spent half an hour to debug mysterious build failures
(make complaining about missing dependencies) in some
third party code. (The reason was a missing -Ipath.)
Given what the documentation of -MG
in the preprocessor says I'm not sure this is a real bug,
but as an enhancement request I think gcc shouldn't
pass -MG to the preprocessor if it is used in combination
with -c (or -S etc.), or produce an error (it doesn't
really make sense to use -MG with -c).
This behaviour is the same in gcc --version:
gcc-3.3 (GCC) 3.3.6 (Debian 1:3.3.6-7)
gcc-3.4 (GCC) 3.4.5 20050613 (prerelease) (Debian 3.4.4-1)
gcc-4.0 (GCC) 4.0.1 20050617 (prerelease) (Debian 4.0.0-10)
$ cat >t.c
#include "foo.h"
$ gcc -MD -c t.c
t.c:1:17: foo.h: No such file or directory
$ ls -l t.*
-rw-r--r-- 1 js js 17 Jun 29 15:35 t.c
-rw-r--r-- 1 js js 0 Jun 29 15:36 t.d
$ gcc -MD -MG -c t.c
$ ls -l t.*
-rw-r--r-- 1 js js 17 Jun 29 15:35 t.c
-rw-r--r-- 1 js js 15 Jun 29 15:35 t.d
-rw-r--r-- 1 js js 637 Jun 29 15:35 t.o
$ cat t.d
t.o: t.c foo.h
$
--
Summary: -MG ignores missing headers even with -c
Product: gcc
Version: 4.0.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: driver
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: js at linuxtv dot org
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22231