diff options
author | Markus Milleder <markus.milleder@generali.at> | 2008-03-06 19:08:40 +0100 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2008-03-06 18:08:40 +0000 |
commit | 830465c6ea14fa89df9b74106674d7ecf5b4ab31 (patch) | |
tree | 8b7e254009342f3af78130f33b14aea49e98ddcf | |
parent | 48081aae38aa3f86d1c398e70563baf779b0054f (diff) | |
download | gcc-830465c6ea14fa89df9b74106674d7ecf5b4ab31.zip gcc-830465c6ea14fa89df9b74106674d7ecf5b4ab31.tar.gz gcc-830465c6ea14fa89df9b74106674d7ecf5b4ab31.tar.bz2 |
re PR preprocessor/35458 (Dependency generation (-M) does not quote '#' in filenames)
libcpp
2008-03-06 Markus Milleder <markus.milleder@generali.at>
PR preprocessor/35458
* mkdeps.c (munge): Quote '#' with a '\'.
gcc/testsuite
2008-03-06 Markus Milleder <markus.milleder@generali.at>
PR preprocessor/35458
* gcc.dg/cpp/cmdlne-M-2.c: New file.
* gcc.dg/cpp/cmdlne-M-2#.h: New file.
* gcc.dg/cpp/#cmdlne-M-2.h: New file.
From-SVN: r132982
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/#cmdlne-M-2.h | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/cmdlne-M-2#.h | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/cmdlne-M-2.c | 14 | ||||
-rw-r--r-- | libcpp/ChangeLog | 5 | ||||
-rw-r--r-- | libcpp/mkdeps.c | 9 |
6 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 396fa3e..38bf08d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2008-03-06 Markus Milleder <markus.milleder@generali.at> + + PR preprocessor/35458 + * gcc.dg/cpp/cmdlne-M-2.c: New file. + * gcc.dg/cpp/cmdlne-M-2#.h: New file. + * gcc.dg/cpp/#cmdlne-M-2.h: New file. + 2008-03-06 Tom Tromey <tromey@redhat.com> * lib/treelang-dg.exp, lib/treelang.exp: Delete. diff --git a/gcc/testsuite/gcc.dg/cpp/#cmdlne-M-2.h b/gcc/testsuite/gcc.dg/cpp/#cmdlne-M-2.h new file mode 100644 index 0000000..40a8c17 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/#cmdlne-M-2.h @@ -0,0 +1 @@ +/* empty */ diff --git a/gcc/testsuite/gcc.dg/cpp/cmdlne-M-2#.h b/gcc/testsuite/gcc.dg/cpp/cmdlne-M-2#.h new file mode 100644 index 0000000..40a8c17 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/cmdlne-M-2#.h @@ -0,0 +1 @@ +/* empty */ diff --git a/gcc/testsuite/gcc.dg/cpp/cmdlne-M-2.c b/gcc/testsuite/gcc.dg/cpp/cmdlne-M-2.c new file mode 100644 index 0000000..6479822 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/cmdlne-M-2.c @@ -0,0 +1,14 @@ +/* Copyright (C) 2008 Free Software Foundation, Inc. */ + +/* { dg-do preprocess } */ +/* { dg-options "-M" } */ + +/* Test that dependency output suppresses warnings by implying -w. */ + +#include "#cmdlne-M-2.h" +#include "cmdlne-M-2#.h" + +/* { dg-final { scan-file cmdlne-M-2.i "(^|\\n)cmdlne-M-2.o:" } } + { dg-final { scan-file cmdlne-M-2.i "cmdlne-M-2.c" } } + { dg-final { scan-file cmdlne-M-2.i "\\\\#cmdlne-M-2.h" } } + { dg-final { scan-file cmdlne-M-2.i "cmdlne-M-2\\\\#.h" } } */ diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 5b2258e..a6be847c 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,8 @@ +2008-03-06 Markus Milleder <markus.milleder@generali.at> + + PR preprocessor/35458 + * mkdeps.c (munge): Quote '#' with a '\'. + 2008-02-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> PR preprocessor/35379 diff --git a/libcpp/mkdeps.c b/libcpp/mkdeps.c index 11488ce..23d9dc1 100644 --- a/libcpp/mkdeps.c +++ b/libcpp/mkdeps.c @@ -79,6 +79,11 @@ munge (const char *filename) /* '$' is quoted by doubling it. */ len++; break; + + case '#': + /* '#' is quoted with a backslash. */ + len++; + break; } } @@ -100,6 +105,10 @@ munge (const char *filename) *dst++ = '$'; break; + case '#': + *dst++ = '\\'; + break; + default: /* nothing */; } |