OSDN Git Service

PR preprocessor/30468:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Jan 2007 15:50:00 +0000 (15:50 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Jan 2007 15:50:00 +0000 (15:50 +0000)
* mkdeps.c (apply_vpath): Strip successive '/'s if we stripped
'./'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121341 138bc75d-0d04-0410-961f-82ee72b054a4

libcpp/ChangeLog
libcpp/mkdeps.c

index 40c216b..ea5f1ff 100644 (file)
@@ -1,5 +1,11 @@
 2007-01-30  Tom Tromey  <tromey@redhat.com>
 
+       PR preprocessor/30468:
+       * mkdeps.c (apply_vpath): Strip successive '/'s if we stripped
+       './'.
+
+2007-01-30  Tom Tromey  <tromey@redhat.com>
+
        PR preprocessor/29966:
        * macro.c (lex_expansion_token): Save and restore cpp_reader's
        cur_token.
index 3e2c4d8..8aa96c5 100644 (file)
@@ -1,5 +1,5 @@
 /* Dependency generator for Makefile fragments.
-   Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2003, 2007 Free Software Foundation, Inc.
    Contributed by Zack Weinberg, Mar 2000
 
 This program is free software; you can redistribute it and/or modify it
@@ -141,7 +141,13 @@ apply_vpath (struct deps *d, const char *t)
 
   /* Remove leading ./ in any case.  */
   while (t[0] == '.' && IS_DIR_SEPARATOR (t[1]))
-    t += 2;
+    {
+      t += 2;
+      /* If we removed a leading ./, then also remove any /s after the
+        first.  */
+      while (IS_DIR_SEPARATOR (t[0]))
+       ++t;
+    }
 
   return t;
 }