summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp-mi.c
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-01-06 01:47:28 -0800
committerYamaArashi <shadow962@live.com>2016-01-06 01:47:28 -0800
commitbe8b04496302184c6e8f04d6179f9c3afc50aeb6 (patch)
tree726e2468c0c07add773c0dbd86ab6386844259ae /gcc/testsuite/gcc.dg/cpp-mi.c
initial commit
Diffstat (limited to 'gcc/testsuite/gcc.dg/cpp-mi.c')
-rwxr-xr-xgcc/testsuite/gcc.dg/cpp-mi.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/cpp-mi.c b/gcc/testsuite/gcc.dg/cpp-mi.c
new file mode 100755
index 0000000..f667d0c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp-mi.c
@@ -0,0 +1,34 @@
+/* Test "ignore redundant include" facility.
+ This doesn't test for the case where the file is opened, and then ignored
+ (the file shouldn't have even been opened). That would require tracing
+ system calls. It could be done on some systems however. */
+
+/* We have to test two cases: C comments at the top and C++ comments
+ at the top. */
+
+/*
+{ dg-do preprocess }
+{ dg-options "-Wp,-lang-c-c++-comments" }
+*/
+
+#include "cpp-mic.h"
+#include "cpp-mic.h"
+
+#include "cpp-micc.h"
+#include "cpp-micc.h"
+
+main ()
+{
+}
+
+/*
+ { dg-final { if ![file exists cpp-mi.i] { return } } }
+
+ { dg-final { set tmp [grep cpp-mi.i cpp-micc? line] } }
+ { dg-final { # send_user "$tmp\n" } }
+ { dg-final { if [regexp "^{\[0-9\]+ cpp-mic} {\[0-9\]+ cpp-micc}$" $tmp] \{ } }
+ { dg-final { pass "cpp-mi.c: redundant include check" } }
+ { dg-final { \} else \{ } }
+ { dg-final { fail "cpp-mi.c: redundant include check" } }
+ { dg-final { \} } }
+*/