This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
preprocessor/6521: -MG creates dependency with wrong path
- From: rspier at pobox dot com
- To: gcc-gnats at gcc dot gnu dot org
- Date: 30 Apr 2002 20:35:29 -0000
- Subject: preprocessor/6521: -MG creates dependency with wrong path
- Reply-to: rspier at pobox dot com
>Number: 6521
>Category: preprocessor
>Synopsis: -MG creates dependency with wrong path
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Apr 30 13:36:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: rspier@pobox.com
>Release: gcc2.95, gcc2.96rh, egcs 1.1.2 (gcc 2.91), gcc 3.0.2
>Organization:
>Environment:
Linux
>Description:
gcc or g++ -MG outputs incorrect dependency information when there is a nonexistent header file specified in angle brackets. (i.e. #include <...>)
It uses the path of the first specified -I argument (or the first system directory, if no directory is specified.)
The attached script demonstrates the problem.
#include "some/header.h"
#include <nonexistent.h>
int main() {
}
gcc3 -M -MG /tmp/_16336//test.c -I/tmp/_16336//not/a/real/path
test.o: /tmp/_16336/test.c some/header.h \
/tmp/_16336/not/a/real/path/nonexistent.h
>How-To-Repeat:
(Run attached script.)
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-sh; name="t.sh"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="t.sh"
IyEvYmluL3NoCgpESVI9L3RtcC9fJCQvCklESVI9JERJUi9ub3QvYS9yZWFsL3BhdGgKRklMRT0k
RElSL3Rlc3QuYwoKbWtkaXIgLXAgJERJUgpta2RpciAtcCAkSURJUgoKIyBDcmVhdGUgRmlsZQpj
YXQ8PEVPRiA+ICRGSUxFCiNpbmNsdWRlICJzb21lL2hlYWRlci5oIgojaW5jbHVkZSA8bm9uZXhp
c3RlbnQuaD4KaW50IG1haW4oKSB7Cn0KRU9GCgpjYXQgJEZJTEUKCiMgRGVwZW5kZW5jeSBTY2Fu
CkNNRD0iZ2NjMyAtTSAtTUcgJEZJTEUgLUkkSURJUiIKZWNobyAkQ01ECiRDTUQKCiMgQ2xlYW4g
VXAKcm0gLXJmICRESVIK