aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-07-31 21:12:14 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2008-07-31 21:12:14 +0200
commitaffa55c67fea50271e7a4a9f30806172e9a7a41a (patch)
treeb8d0f8b842935bf3445c936be9b262e9c8ec3c96 /gcc
parenta23eb008dc764028d758ef589f67aa822a2a81e1 (diff)
downloadgcc-affa55c67fea50271e7a4a9f30806172e9a7a41a.zip
gcc-affa55c67fea50271e7a4a9f30806172e9a7a41a.tar.gz
gcc-affa55c67fea50271e7a4a9f30806172e9a7a41a.tar.bz2
re PR preprocessor/36649 (-H option doesn't work as expected)
PR preprocessor/36649 * files.c (struct report_missing_guard_data): New type. (report_missing_guard): Put paths into an array instead of printing them right away. Return 1 rather than 0. (report_missing_guard_cmp): New function. (_cpp_report_missing_guards): Sort and print paths gathered by report_missing_guard callback. * gcc.dg/pch/cpp-3.hs: Add include guards. * gcc.dg/pch/cpp-3a.h: Likewise. * gcc.dg/pch/cpp-3b.h: Likewise. * gcc.dg/cpp/mi8.c: New test. * gcc.dg/cpp/mi8a.h: New file. * gcc.dg/cpp/mi8b.h: New file. * gcc.dg/cpp/mi8c.h: New file. * gcc.dg/cpp/mi8d.h: New file. From-SVN: r138432
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog10
-rw-r--r--gcc/testsuite/gcc.dg/cpp/mi8.c8
-rw-r--r--gcc/testsuite/gcc.dg/cpp/mi8a.h1
-rw-r--r--gcc/testsuite/gcc.dg/cpp/mi8b.h4
-rw-r--r--gcc/testsuite/gcc.dg/cpp/mi8c.h4
-rw-r--r--gcc/testsuite/gcc.dg/cpp/mi8d.h1
-rw-r--r--gcc/testsuite/gcc.dg/pch/cpp-3.hs3
-rw-r--r--gcc/testsuite/gcc.dg/pch/cpp-3a.h3
-rw-r--r--gcc/testsuite/gcc.dg/pch/cpp-3b.h3
9 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0d2ebbf..f68def0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,15 @@
2008-07-31 Jakub Jelinek <jakub@redhat.com>
+ PR preprocessor/36649
+ * gcc.dg/pch/cpp-3.hs: Add include guards.
+ * gcc.dg/pch/cpp-3a.h: Likewise.
+ * gcc.dg/pch/cpp-3b.h: Likewise.
+ * gcc.dg/cpp/mi8.c: New test.
+ * gcc.dg/cpp/mi8a.h: New file.
+ * gcc.dg/cpp/mi8b.h: New file.
+ * gcc.dg/cpp/mi8c.h: New file.
+ * gcc.dg/cpp/mi8d.h: New file.
+
PR rtl-optimization/36419
* g++.dg/eh/async-unwind2.C: New test.
diff --git a/gcc/testsuite/gcc.dg/cpp/mi8.c b/gcc/testsuite/gcc.dg/cpp/mi8.c
new file mode 100644
index 0000000..1999918
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/mi8.c
@@ -0,0 +1,8 @@
+/* Test multiple include guards suggestions. */
+
+/* { dg-do preprocess }
+ { dg-options "-H" }
+ { dg-message "mi8a\.h\n\[^\n\]*mi8c\.h\n\[^\n\]*mi8b\.h\n\[^\n\]*mi8d\.h\nMultiple include guards may be useful for:\n\[^\n\]*mi8a\.h\n\[^\n\]*mi8d\.h\n" "" { target *-*-* } 0 } */
+
+#include "mi8a.h"
+#include "mi8b.h"
diff --git a/gcc/testsuite/gcc.dg/cpp/mi8a.h b/gcc/testsuite/gcc.dg/cpp/mi8a.h
new file mode 100644
index 0000000..893d9ff
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/mi8a.h
@@ -0,0 +1 @@
+#include "mi8c.h"
diff --git a/gcc/testsuite/gcc.dg/cpp/mi8b.h b/gcc/testsuite/gcc.dg/cpp/mi8b.h
new file mode 100644
index 0000000..8e3482c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/mi8b.h
@@ -0,0 +1,4 @@
+#ifndef GUARDB
+#define GUARDB
+#include "mi8d.h"
+#endif
diff --git a/gcc/testsuite/gcc.dg/cpp/mi8c.h b/gcc/testsuite/gcc.dg/cpp/mi8c.h
new file mode 100644
index 0000000..08c5cab
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/mi8c.h
@@ -0,0 +1,4 @@
+#ifndef GUARDC
+#define GUARDC
+/* Empty */
+#endif
diff --git a/gcc/testsuite/gcc.dg/cpp/mi8d.h b/gcc/testsuite/gcc.dg/cpp/mi8d.h
new file mode 100644
index 0000000..710cecc
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/mi8d.h
@@ -0,0 +1 @@
+/* Empty */
diff --git a/gcc/testsuite/gcc.dg/pch/cpp-3.hs b/gcc/testsuite/gcc.dg/pch/cpp-3.hs
index 40a8c17..728b1af 100644
--- a/gcc/testsuite/gcc.dg/pch/cpp-3.hs
+++ b/gcc/testsuite/gcc.dg/pch/cpp-3.hs
@@ -1 +1,4 @@
+#ifndef CPP_3_H
+#define CPP_3_H
/* empty */
+#endif
diff --git a/gcc/testsuite/gcc.dg/pch/cpp-3a.h b/gcc/testsuite/gcc.dg/pch/cpp-3a.h
index 2cc9fd2..3788d11 100644
--- a/gcc/testsuite/gcc.dg/pch/cpp-3a.h
+++ b/gcc/testsuite/gcc.dg/pch/cpp-3a.h
@@ -1 +1,4 @@
+#ifndef CPP_3A_H
+#define CPP_3A_H
#include "cpp-3b.h"
+#endif
diff --git a/gcc/testsuite/gcc.dg/pch/cpp-3b.h b/gcc/testsuite/gcc.dg/pch/cpp-3b.h
index 40a8c17..5cb0e81 100644
--- a/gcc/testsuite/gcc.dg/pch/cpp-3b.h
+++ b/gcc/testsuite/gcc.dg/pch/cpp-3b.h
@@ -1 +1,4 @@
+#ifndef CPP_3B_H
+#define CPP_3B_H
/* empty */
+#endif