aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Milleder <markus.milleder@generali.at>2008-03-06 19:08:40 +0100
committerTom Tromey <tromey@gcc.gnu.org>2008-03-06 18:08:40 +0000
commit830465c6ea14fa89df9b74106674d7ecf5b4ab31 (patch)
tree8b7e254009342f3af78130f33b14aea49e98ddcf
parent48081aae38aa3f86d1c398e70563baf779b0054f (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.dg/cpp/#cmdlne-M-2.h1
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cmdlne-M-2#.h1
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cmdlne-M-2.c14
-rw-r--r--libcpp/ChangeLog5
-rw-r--r--libcpp/mkdeps.c9
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 */;
}