From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 38026 invoked by alias); 18 Jul 2015 19:54:57 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 38003 invoked by uid 48); 18 Jul 2015 19:54:53 -0000 From: "pilot.mm at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug preprocessor/66932] New: Preprocessor includes wrong header file Date: Sat, 18 Jul 2015 19:54:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: preprocessor X-Bugzilla-Version: 4.9.3 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: pilot.mm at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-07/txt/msg01644.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66932 Bug ID: 66932 Summary: Preprocessor includes wrong header file Product: gcc Version: 4.9.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: preprocessor Assignee: unassigned at gcc dot gnu.org Reporter: pilot.mm at gmail dot com Target Milestone: --- Created attachment 36011 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36011&action=edit The stripped down test case for the problem... Hello Folks There seems to be an error in the preprocessor where the wrong header file is included. This problem occurs several times when compiling binutils and gcc with newer versions of gcc. I have successfully compiled both of these projects with older versions. Furthermore I have confirmed with the binutils people that this is in fact a gcc bug. For your convenience I have prepared a stripped down version of the problem. The README explains this test case. Basically the problem occurs when there exists multiple header files with the same name in different sub-folders (in my case it was 'config.h'). The problem occurs when you compile one of the problems in the sub folder. This occurs when a -I directive to one of the other sub-folders is given. Furthermore this occurs when the duplicate header file is included indirectly. It seems binutils and gcc assumes that the version in the local directory should be included. Instead the preprocessor includes the one in the other sub-folder. I hope my explanation makes sense. I have created a stripped down version for you folks to understand the problem and hopefully fix it. Take Care Mike