diff options
Diffstat (limited to 'libcpp')
-rw-r--r-- | libcpp/ChangeLog | 6 | ||||
-rw-r--r-- | libcpp/mkdeps.c | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 40c216b..ea5f1ff 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -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. diff --git a/libcpp/mkdeps.c b/libcpp/mkdeps.c index 3e2c4d8..8aa96c5 100644 --- a/libcpp/mkdeps.c +++ b/libcpp/mkdeps.c @@ -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; } |