This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug preprocessor/71681] New: header.gcc file lookup is broken for -remap
- From: "andris.pavenis at iki dot fi" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 28 Jun 2016 08:27:02 +0000
- Subject: [Bug preprocessor/71681] New: header.gcc file lookup is broken for -remap
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71681
Bug ID: 71681
Summary: header.gcc file lookup is broken for -remap
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: preprocessor
Assignee: unassigned at gcc dot gnu.org
Reporter: andris.pavenis at iki dot fi
Target Milestone: ---
Looking up header.gcc files in sub-directories (for example in case of
'#include <sys/stat.h>') is broken as directory separator is missing in
generated file names.
Added simple debugging output to static method remap_filename() in
libcpp/files.c. Some examples illustrating missing directory separator from
debug output are given below.
remap_filename() finds header file in top directories of include search path
but not in subdirectories in part of cases (one is getting
new_dir='/usr/includesys/' where name should have been './usr/include/sys/')
Test example foo.c:
#include "foo/bar/baz.h"
#include <sys/stat.h>
Used gcc version 7.0.0-20160628. Problem present also in several earlier GCC
versions. Problem actually detected for DJGPP, but can easily be reproduced
under Linux as done in this case)
[andris@localhost test]$ ../xgcc -B ../ -c -remap foo.c
remap_filename: fname='foo.c'
remap_filename: fname='stdc-predef.h'
remap_filename: fname='stdc-predef.h'
remap_filename: fname='stdc-predef.h'
remap_filename: fname='stdc-predef.h'
remap_filename: fname='foo/bar/baz.h'
remap_filename: new_dir='foo/'
remap_filename: new_dir='foo/bar/'
remap_filename: fname='sys/stat.h'
remap_filename: new_dir='../includesys/'
remap_filename: fname='sys/stat.h'
remap_filename: new_dir='../include-fixedsys/'
remap_filename: fname='sys/stat.h'
remap_filename: new_dir='/usr/local/includesys/'
remap_filename: fname='sys/stat.h'
remap_filename: new_dir='/usr/includesys/'
remap_filename: fname='features.h'
remap_filename: fname='features.h'
remap_filename: fname='features.h'
remap_filename: fname='features.h'
remap_filename: fname='sys/cdefs.h'
remap_filename: new_dir='../includesys/'
remap_filename: fname='sys/cdefs.h'
remap_filename: new_dir='../include-fixedsys/'
remap_filename: fname='sys/cdefs.h'