[Bug preprocessor/66932] New: Preprocessor includes wrong header file

pilot.mm at gmail dot com gcc-bugzilla@gcc.gnu.org
Sat Jul 18 19:54:00 GMT 2015


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



More information about the Gcc-bugs mailing list