Hi!

A few review comments:

On Wed, 7 Sep 2016 20:19:20 +0300, Andris Pavenis <andris.pave...@iki.fi> wrote:
> This patch fixes handling header.gcc in subdirectories when command line 
> option -remap has been 
> used.

(I have not yet looked up what that mechanism actually does.)  ;-)

> Current version finds header.gcc in directories from GCC include directory 
> search path but 
> fails to find them in subdirectories due to missing directory separator.

> --- a/libcpp/files.c
> +++ b/libcpp/files.c
> @@ -1672,7 +1672,7 @@ static char *
>  remap_filename (cpp_reader *pfile, _cpp_file *file)
>  {
>    const char *fname, *p;
> -  char *new_dir;
> +  char *new_dir, *p3;
>    cpp_dir *dir;
>    size_t index, len;
>  
> @@ -1701,9 +1701,15 @@ remap_filename (cpp_reader *pfile, _cpp_file *file)
>       return NULL;
>  
>        len = dir->len + (p - fname + 1);
> -      new_dir = XNEWVEC (char, len + 1);
> +      new_dir = XNEWVEC (char, len + 2);
> +      p3 = new_dir + dir->len;
>        memcpy (new_dir, dir->name, dir->len);
> -      memcpy (new_dir + dir->len, fname, p - fname + 1);
> +      if (dir->len && !IS_DIR_SEPARATOR(dir->name[dir->len - 1]))
> +     {
> +       *p3++ = '/';
> +       len++;
> +     }
> +      memcpy (p3, fname, p - fname + 1);
>        new_dir[len] = '\0';
>  
>        dir = make_cpp_dir (pfile, new_dir, dir->sysp);

(I have not yet reviewed the logic of your change itself.)  Wouldn't it
be simpler to just unconditionally add a directory separator here?

Is it OK to assume that a directory separator always is "/"?  (Think DOS,
Windows etc.  But maybe there's some "translation layer" beneath this --
I don't know.)


Can you provide some test cases?  (Ah, I now see you got some "Test
script to reproduce problem" attached to <https://gcc.gnu.org/PR71681> --
this should be turned into a regression test for the GCC testsuite.)


It is good practice to assign a GCC PR to yourself if you're working on
it, and it also helps to post to the PR a comment with a link to the
mailing list archive for patch submissions, etc.


Grüße
 Thomas

Attachment: signature.asc
Description: PGP signature

Reply via email to