summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-02 19:21:15 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-02 19:21:15 +0000
commitdfac819b4eacf0fb97dc002e5f36c9c3b007f70b (patch)
treeb9ac7ba20a1901ce01adc13a973b730607c0a573 /gcc/testsuite/gcc.dg
parentaa621a6293f1d91f977336f53dd60c99a57df734 (diff)
downloadgcc-dfac819b4eacf0fb97dc002e5f36c9c3b007f70b.tar.gz
* lib/scanasm.exp (dg-scan): New function, factored out of ...
(scan-assembler): ... here. Use dg-scan. (scan-assembler-not): Likewise. (scan-file): New function. (scan-file-not): Likewise. * gcc.dg/cpp/19990228-1.c: Use scan-file and/or scan-file-not. * gcc.dg/cpp/_Pragma4.c: Likewise. * gcc.dg/cpp/_Pragma5.c: Likewise. * gcc.dg/cpp/avoidpaste1.c: Likewise. * gcc.dg/cpp/avoidpaste2.c: Likewise. * gcc.dg/cpp/cmdlne-C2.c: Likewise. * gcc.dg/cpp/cmdlne-P.c: Likewise. * gcc.dg/cpp/cmdlne-dD-M.c: Likewise. * gcc.dg/cpp/cmdlne-dD-dM.c: Likewise. * gcc.dg/cpp/cmdlne-dI-M.c: Likewise. * gcc.dg/cpp/cmdlne-dM-M.c: Likewise. * gcc.dg/cpp/cmdlne-dM-dD.c: Likewise. * gcc.dg/cpp/cmdlne-dN-M.c: Likewise. * gcc.dg/cpp/cxxcom1.c: Likewise. * gcc.dg/cpp/line1.c: Likewise. * gcc.dg/cpp/maccom1.c: Likewise. * gcc.dg/cpp/maccom2.c: Likewise. * gcc.dg/cpp/maccom3.c: Likewise. * gcc.dg/cpp/maccom4.c: Likewise. * gcc.dg/cpp/maccom5.c: Likewise. * gcc.dg/cpp/maccom6.c: Likewise. * gcc.dg/cpp/multiline.c: Likewise. * gcc.dg/cpp/spacing1.c: Likewise. * gcc.dg/cpp/spacing2.c: Likewise. * gcc.dg/cpp/trad/cmdlne-C2.c: Likewise. * gcc.dg/cpp/trad/maccom1.c: Likewise. * gcc.dg/cpp/trad/maccom2.c: Likewise. * gcc.dg/cpp/trad/maccom3.c: Likewise. * gcc.dg/cpp/trad/maccom4.c: Likewise. * gcc.dg/cpp/trad/maccom6.c: Likewise. * gcc.dg/cpp/cxxcom2.c: Likewise. * gcc.dg/cpp/cxxcom2.h: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67347 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg')
-rw-r--r--gcc/testsuite/gcc.dg/cpp/19990228-1.c10
-rw-r--r--gcc/testsuite/gcc.dg/cpp/_Pragma4.c6
-rw-r--r--gcc/testsuite/gcc.dg/cpp/_Pragma5.c6
-rw-r--r--gcc/testsuite/gcc.dg/cpp/avoidpaste1.c11
-rw-r--r--gcc/testsuite/gcc.dg/cpp/avoidpaste2.c11
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cmdlne-C2.c8
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cmdlne-P.c6
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cmdlne-dD-M.c10
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cmdlne-dD-dM.c8
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cmdlne-dI-M.c10
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cmdlne-dM-M.c10
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cmdlne-dM-dD.c8
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cmdlne-dN-M.c10
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cxxcom1.c11
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cxxcom2.c19
-rw-r--r--gcc/testsuite/gcc.dg/cpp/cxxcom2.h4
-rw-r--r--gcc/testsuite/gcc.dg/cpp/line1.c10
-rw-r--r--gcc/testsuite/gcc.dg/cpp/maccom1.c7
-rw-r--r--gcc/testsuite/gcc.dg/cpp/maccom2.c6
-rw-r--r--gcc/testsuite/gcc.dg/cpp/maccom3.c6
-rw-r--r--gcc/testsuite/gcc.dg/cpp/maccom4.c4
-rw-r--r--gcc/testsuite/gcc.dg/cpp/maccom5.c7
-rw-r--r--gcc/testsuite/gcc.dg/cpp/maccom6.c6
-rw-r--r--gcc/testsuite/gcc.dg/cpp/multiline.c5
-rw-r--r--gcc/testsuite/gcc.dg/cpp/spacing1.c17
-rw-r--r--gcc/testsuite/gcc.dg/cpp/spacing2.c9
-rw-r--r--gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C2.c8
-rw-r--r--gcc/testsuite/gcc.dg/cpp/trad/maccom1.c6
-rw-r--r--gcc/testsuite/gcc.dg/cpp/trad/maccom2.c6
-rw-r--r--gcc/testsuite/gcc.dg/cpp/trad/maccom3.c6
-rw-r--r--gcc/testsuite/gcc.dg/cpp/trad/maccom4.c4
-rw-r--r--gcc/testsuite/gcc.dg/cpp/trad/maccom6.c6
32 files changed, 69 insertions, 192 deletions
diff --git a/gcc/testsuite/gcc.dg/cpp/19990228-1.c b/gcc/testsuite/gcc.dg/cpp/19990228-1.c
index 4b846ea219f..acae1169ac4 100644
--- a/gcc/testsuite/gcc.dg/cpp/19990228-1.c
+++ b/gcc/testsuite/gcc.dg/cpp/19990228-1.c
@@ -18,12 +18,4 @@ foo ("\
",
NULL);
-/*
- { dg-final { if ![file exists 990228-1.i] { return } } }
- { dg-final { set tmp [grep 990228-1.i ".#"] } }
- { dg-final { if { [string length $tmp] == 0 } \{ } }
- { dg-final { pass "990228-1.c: linemarkers in middle of line" } }
- { dg-final { \} else \{ } }
- { dg-final { fail "990228-1.c: linemarkers in middle of line" } }
- { dg-final { \} } }
- */
+/* { dg-final { scan-file-not 19990228-1.i "\[^\\n\]#" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/_Pragma4.c b/gcc/testsuite/gcc.dg/cpp/_Pragma4.c
index 5c86b02c710..f6f43d6b242 100644
--- a/gcc/testsuite/gcc.dg/cpp/_Pragma4.c
+++ b/gcc/testsuite/gcc.dg/cpp/_Pragma4.c
@@ -5,8 +5,4 @@
#define b foo _Pragma ("bar") baz
a b c
-/*
- { dg-final { if ![file exists _Pragma4.i] { return } } }
- { dg-final { if { [grep _Pragma4.i "#pragma bar"] != "" } { return } } }
- { dg-final { fail "_Pragma4.c: #pragma appearing on its own line" } }
-*/
+/* { dg-final { scan-file "_Pragma4.i" "(^|\\n)#pragma bar($|\\n)" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/_Pragma5.c b/gcc/testsuite/gcc.dg/cpp/_Pragma5.c
index ace50412cc6..141d56b9a75 100644
--- a/gcc/testsuite/gcc.dg/cpp/_Pragma5.c
+++ b/gcc/testsuite/gcc.dg/cpp/_Pragma5.c
@@ -7,8 +7,4 @@
#define GAMMA(C) _Pragma("moose") ALPHA(C) BETA(C)
GAMMA(baz);
-/*
- { dg-final { if ![file exists _Pragma5.i] { return } } }
- { dg-final { if { [grep _Pragma5.i "alpha_baz beta_baz;"] != "" } { return } } }
- { dg-final { fail "_Pragma5.c: _Pragma in macro" } }
-*/
+/* { dg-final { scan-file "_Pragma5.i" "alpha_baz beta_baz;" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/avoidpaste1.c b/gcc/testsuite/gcc.dg/cpp/avoidpaste1.c
index f2905c34aab..d304a744155 100644
--- a/gcc/testsuite/gcc.dg/cpp/avoidpaste1.c
+++ b/gcc/testsuite/gcc.dg/cpp/avoidpaste1.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc. */
+/* Copyright (C) 2001, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
@@ -24,10 +24,5 @@ in future, this test needs to change. */
:: :g: :f(): :f(^): tricky
:f(:): .. .__INCLUDE_LEVEL__ __INCLUDE_LEVEL__. /* Check builtins, too. */
-/*
- { dg-final { if ![file exists avoidpaste1.i] { return } } }
- { dg-final { if { [grep avoidpaste1.i ":: : : : : :\\^: 1.0e- 1"] != "" } \{ } }
- { dg-final { if { [grep avoidpaste1.i ": : : \\\.\\\. \\\. 0 0 \\\."] != "" } \{ } }
- { dg-final { return \} \} } }
- { dg-final { fail "avoidpaste1.c: paste avoidance" } }
-*/
+/* { dg-final { scan-file avoidpaste1.i ":: : : : : :\\^: 1.0e- 1" } }
+ { dg-final { scan-file avoidpaste1.i ": : : \\\.\\\. \\\. 0 0 \\\." } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/avoidpaste2.c b/gcc/testsuite/gcc.dg/cpp/avoidpaste2.c
index 5094e3d92d9..42b549c8d6c 100644
--- a/gcc/testsuite/gcc.dg/cpp/avoidpaste2.c
+++ b/gcc/testsuite/gcc.dg/cpp/avoidpaste2.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc. */
+/* Copyright (C) 2001, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
@@ -26,10 +26,5 @@ We used to get a space at the start of the line. */
f(:,)
g(2, 2)
-/*
- { dg-final { if ![file exists avoidpaste2.i] { return } } }
- { dg-final { if { [grep avoidpaste2.i "^: : : - > - >"] != "" } \{ } }
- { dg-final { if { [grep avoidpaste2.i "^:2: :22 22:"] != "" } \{ } }
- { dg-final { return \} \} } }
- { dg-final { fail "avoidpaste2.c: paste avoidance" } }
-*/
+/* { dg-final { scan-file avoidpaste2.i "(^|\\n): : : - > - >" } }
+ { dg-final { scan-file avoidpaste2.i "(^|\\n):2: :22 22:" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/cmdlne-C2.c b/gcc/testsuite/gcc.dg/cpp/cmdlne-C2.c
index 13f5a0953b8..be046704c56 100644
--- a/gcc/testsuite/gcc.dg/cpp/cmdlne-C2.c
+++ b/gcc/testsuite/gcc.dg/cpp/cmdlne-C2.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. */
+/* Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
/* { dg-options "-C" } */
@@ -13,9 +13,5 @@
ZERO:
-/*
- { dg-final { if ![file exists cmdlne-C2.i] { return } } }
- { dg-final { if { [grep cmdlne-C2.i "c+omment:"] == "" } { return } } }
- { dg-final { fail "cmdlne-C2.i: C++ comments in macros with -C" } }
-*/
+/* { dg-final { scan-file-not cmdlne-C2.i "c+omment:" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/cmdlne-P.c b/gcc/testsuite/gcc.dg/cpp/cmdlne-P.c
index 117c0efc147..faadf9fbf79 100644
--- a/gcc/testsuite/gcc.dg/cpp/cmdlne-P.c
+++ b/gcc/testsuite/gcc.dg/cpp/cmdlne-P.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc. */
+/* Copyright (C) 2000, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
/* { dg-options "-P" } */
@@ -8,6 +8,4 @@
int x = 1;
-/* { dg-final { if ![file exists cmdlne-P.i] { return } } }
- { dg-final { if { [grep cmdlne-P.i "^int x = 1;$"] != "" } { return } } }
- { dg-final { fail "cmdlne-P.c: stair-stepping with -P" } } */
+/* { dg-final { scan-file cmdlne-P.i "(^|\n)int x = 1;($|\n)" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/cmdlne-dD-M.c b/gcc/testsuite/gcc.dg/cpp/cmdlne-dD-M.c
index 1a0adc025c2..1bc7916fcd3 100644
--- a/gcc/testsuite/gcc.dg/cpp/cmdlne-dD-M.c
+++ b/gcc/testsuite/gcc.dg/cpp/cmdlne-dD-M.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc. */
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
/* { dg-options "-dD -M" } */
@@ -10,8 +10,6 @@
#define funlike(like) fun like
int variable;
-/* { dg-final { if ![file exists cmdlne-dD-M.i] { return } } }
- { dg-final { if { [grep cmdlne-dD-M.i "^#define foo bar$"] != "" } { fail "cmdlne-dD-M.c: #define line printed" } } }
- { dg-final { if { [grep cmdlne-dD-M.i "variable"] != "" } { fail "cmdlne-dD-M.c: non-#define line printed" } } }
- { dg-final { if { [grep cmdlne-dD-M.i "^cmdlne-dD-M.*:.*cmdlne-dD-M.c"] == "" } { xfail "cmdlne-dD-M.c: dependency rule not printed" } } }
- { dg-final { return } } */
+/* { dg-final { scan-file-not cmdlne-dD-M.i "(^|\\n)#define foo bar($|\\n)" } }
+ { dg-final { scan-file-not cmdlne-dD-M.i "variable" } }
+ { dg-final { scan-file-not cmdlne-dD-M.i "(^|\n)cmdlne-dD-M.*:.*cmdlne-dD-M.c" { xfail *-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/cmdlne-dD-dM.c b/gcc/testsuite/gcc.dg/cpp/cmdlne-dD-dM.c
index 8a3fb346588..9e3c732d35c 100644
--- a/gcc/testsuite/gcc.dg/cpp/cmdlne-dD-dM.c
+++ b/gcc/testsuite/gcc.dg/cpp/cmdlne-dD-dM.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc. */
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
/* { dg-options "-dD -dM" } */
@@ -10,7 +10,5 @@
#define funlike(like) fun like
int variable;
-/* { dg-final { if ![file exists cmdlne-dD-dM.i] { return } } }
- { dg-final { if { [grep cmdlne-dD-dM.i "^#define foo bar$"] == "" } { fail "cmdlne-dD-dM.c: #define line not printed" } } }
- { dg-final { if { [grep cmdlne-dD-dM.i "variable"] != "" } { fail "cmdlne-dD-dM.c: non-#define line printed" } } }
- { dg-final { return } } */
+/* { dg-final { scan-file cmdlne-dD-dM.i "(^|\\n)#define foo bar($|\\n)" } }
+ { dg-final { scan-file-not cmdlne-dD-dM.i "variable" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/cmdlne-dI-M.c b/gcc/testsuite/gcc.dg/cpp/cmdlne-dI-M.c
index afa54f7bf77..c003d5ade98 100644
--- a/gcc/testsuite/gcc.dg/cpp/cmdlne-dI-M.c
+++ b/gcc/testsuite/gcc.dg/cpp/cmdlne-dI-M.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc. */
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
/* { dg-options "-dI -M" } */
@@ -11,8 +11,6 @@
#define funlike(like) fun like
int variable;
-/* { dg-final { if ![file exists cmdlne-dI-M.i] { return } } }
- { dg-final { if { [grep cmdlne-dI-M.i "^#define foo bar$"] != "" } { fail "cmdlne-dI-M.c: #define line printed" } } }
- { dg-final { if { [grep cmdlne-dI-M.i "variable"] != "" } { fail "cmdlne-dI-M.c: non-#define line printed" } } }
- { dg-final { if { [grep cmdlne-dI-M.i "^cmdlne-dI-M.*:.*cmdlne-dI-M.c"] == "" } { xfail "cmdlne-dI-M.c: dependency rule not printed" } } }
- { dg-final { return } } */
+/* { dg-final { scan-file-not cmdlne-dI-M.i "(^|\\n)#define foo bar($|\\n)" } }
+ { dg-final { scan-file-not cmdlne-dI-M.i "variable" } }
+ { dg-final { scan-file cmdlne-dI-M.i "(^|\\n)cmdlne-dI-M.*:\[^\\n\]*cmdlne-dI-M.c" { xfail *-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/cmdlne-dM-M.c b/gcc/testsuite/gcc.dg/cpp/cmdlne-dM-M.c
index 9d5a7df3710..fb21f40f408 100644
--- a/gcc/testsuite/gcc.dg/cpp/cmdlne-dM-M.c
+++ b/gcc/testsuite/gcc.dg/cpp/cmdlne-dM-M.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc. */
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
/* { dg-options "-dM -M" } */
@@ -10,8 +10,6 @@
#define funlike(like) fun like
int variable;
-/* { dg-final { if ![file exists cmdlne-dM-M.i] { return } } }
- { dg-final { if { [grep cmdlne-dM-M.i "^#define foo bar$"] == "" } { fail "cmdlne-dM-M.c: #define line not printed" } } }
- { dg-final { if { [grep cmdlne-dM-M.i "variable"] != "" } { fail "cmdlne-dM-M.c: non-#define line printed" } } }
- { dg-final { if { [grep cmdlne-dM-M.i "^cmdlne-dM-M.*:.*cmdlne-dM-M.c"] == "" } { xfail "cmdlne-dM-M.c: dependency rule not printed" } } }
- { dg-final { return } } */
+/* { dg-final { scan-file cmdlne-dM-M.i "(^|\\n)#define foo bar($|\\n)" } }
+ { dg-final { scan-file-not cmdlne-dM-M.i "variable" } }
+ { dg-final { scan-file cmdlne-dM-M.i "(^|\\n)cmdlne-dM-M\[^\\n\]*:\[^\\n\]*cmdlne-dM-M.c" { xfail *-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/cmdlne-dM-dD.c b/gcc/testsuite/gcc.dg/cpp/cmdlne-dM-dD.c
index 0d3bb9ca059..66ec7dd9b93 100644
--- a/gcc/testsuite/gcc.dg/cpp/cmdlne-dM-dD.c
+++ b/gcc/testsuite/gcc.dg/cpp/cmdlne-dM-dD.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc. */
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
/* { dg-options "-dM -dD" } */
@@ -10,7 +10,5 @@
#define funlike(like) fun like
int variable;
-/* { dg-final { if ![file exists cmdlne-dM-dD.i] { return } } }
- { dg-final { if { [grep cmdlne-dM-dD.i "^#define foo bar$"] == "" } { fail "cmdlne-dM-dD.c: #define line not printed" } } }
- { dg-final { if { [grep cmdlne-dM-dD.i "variable"] == "" } { fail "cmdlne-dM-dD.c: non-#define line not printed" } } }
- { dg-final { return } } */
+/* { dg-final { scan-file cmdlne-dM-dD.i "(^|\\n)#define foo bar($|\\n)" } }
+ { dg-final { scan-file cmdlne-dM-dD.i "variable" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/cmdlne-dN-M.c b/gcc/testsuite/gcc.dg/cpp/cmdlne-dN-M.c
index c4549fc8495..7d8c16b1c95 100644
--- a/gcc/testsuite/gcc.dg/cpp/cmdlne-dN-M.c
+++ b/gcc/testsuite/gcc.dg/cpp/cmdlne-dN-M.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc. */
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
/* { dg-options "-dN -M" } */
@@ -10,8 +10,6 @@
#define funlike(like) fun like
int variable;
-/* { dg-final { if ![file exists cmdlne-dN-M.i] { return } } }
- { dg-final { if { [grep cmdlne-dN-M.i "^#define foo"] != "" } { fail "cmdlne-dN-M.c: #define line printed" } } }
- { dg-final { if { [grep cmdlne-dN-M.i "variable"] != "" } { fail "cmdlne-dN-M.c: non-#define line printed" } } }
- { dg-final { if { [grep cmdlne-dN-M.i "^cmdlne-dN-M.*:.*cmdlne-dN-M.c"] == "" } { xfail "cmdlne-dN-M.c: dependency rule not printed" } } }
- { dg-final { return } } */
+/* { dg-final { scan-file-not cmdlne-dN-M.i "(^|\\n)#define foo" } }
+ { dg-final { scan-file-not cmdlne-dN-M.i "variable" } }
+ { dg-final { scan-file cmdlne-dN-M.i "(^|\\n)cmdlne-dM-M\[^\\n\]*:\[^\\n\]*cmdlne-dM-M.c" { xfail *-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/cxxcom1.c b/gcc/testsuite/gcc.dg/cpp/cxxcom1.c
index c7c51d6e347..8e254ff758c 100644
--- a/gcc/testsuite/gcc.dg/cpp/cxxcom1.c
+++ b/gcc/testsuite/gcc.dg/cpp/cxxcom1.c
@@ -7,14 +7,5 @@
/* ...but we don't bitch about it more than once. */
// C++ comment is not in C89 { dg-bogus "style comment" "bad warning" }
-/*
- { dg-final { if ![file exists cxx-comments-1.i] { return } } }
- { dg-final { set tmp [grep cxx-comments-1.i "is not in C89" line] } }
- { dg-final { # send_user "$tmp\n" } }
- { dg-final { if [regexp "is not in C89" $tmp] \{ } }
- { dg-final { fail "cxx-comments-1: comment strip check" } }
- { dg-final { \} else \{ } }
- { dg-final { pass "cxx-comments-1: comment strip check" } }
- { dg-final { \} } }
-*/
+/* { dg-final { scan-file-not cxxcom1.i "is not in C89" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/cxxcom2.c b/gcc/testsuite/gcc.dg/cpp/cxxcom2.c
index f0fb2d01145..0dbb8f2feb5 100644
--- a/gcc/testsuite/gcc.dg/cpp/cxxcom2.c
+++ b/gcc/testsuite/gcc.dg/cpp/cxxcom2.c
@@ -1,20 +1,7 @@
/* { dg-do preprocess } */
-/* { dg-options "-pedantic -std=c89" } */
+/* { dg-options "-pedantic -std=c89 -Wall" } */
-/* This is an extension and therefore gets a warning. */
-#line 5 "cxx-comments-2.c" 3 /* { dg-warning "extra tokens" "#line extension" } */
+#include "cxxcom2.h"
-/* A system header may contain C++ comments irrespective of mode. */
-// C++ comment is not in C89 { dg-bogus "style comment" "bad warning" }
-
-/*
- { dg-final { if ![file exists cxx-comments-2.i] { return } } }
- { dg-final { set tmp [grep cxx-comments-2.i "is not in C89" line] } }
- { dg-final { # send_user "$tmp\n" } }
- { dg-final { if [regexp "is not in C89" $tmp] \{ } }
- { dg-final { fail "cxx-comments-2: comment strip check" } }
- { dg-final { \} else \{ } }
- { dg-final { pass "cxx-comments-2: comment strip check" } }
- { dg-final { \} } }
-*/
+/* { dg-final { scan-file-not cxxcom2.i "is not in C89" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/cxxcom2.h b/gcc/testsuite/gcc.dg/cpp/cxxcom2.h
new file mode 100644
index 00000000000..546b8fd9217
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/cxxcom2.h
@@ -0,0 +1,4 @@
+/* A system header may contain C++ comments irrespective of mode. */
+#pragma GCC system_header
+// C++ comment is not in C89 { dg-bogus "style comment" "bad warning" }
+
diff --git a/gcc/testsuite/gcc.dg/cpp/line1.c b/gcc/testsuite/gcc.dg/cpp/line1.c
index 376df9cae10..b13c1229d44 100644
--- a/gcc/testsuite/gcc.dg/cpp/line1.c
+++ b/gcc/testsuite/gcc.dg/cpp/line1.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation.
+/* Copyright (C) 2000, 2003 Free Software Foundation.
by Alexandre Oliva <oliva@lsd.ic.unicamp.br> */
@@ -9,10 +9,4 @@
#line 10 "baz"
wibble
-/*
- { dg-final { if \{ [grep line1.i baz] != "" \} \{ } }
- { dg-final { pass "line1.i: #line directive optimization" } }
- { dg-final { \} else \{ } }
- { dg-final { fail "line1.i: #line directive optimization" } }
- { dg-final { \} } }
-*/
+/* { dg-final { scan-file line1.i baz } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/maccom1.c b/gcc/testsuite/gcc.dg/cpp/maccom1.c
index 7660dff2acb..2e01911c609 100644
--- a/gcc/testsuite/gcc.dg/cpp/maccom1.c
+++ b/gcc/testsuite/gcc.dg/cpp/maccom1.c
@@ -10,8 +10,5 @@
def
-/*
- { dg-final { if ![file exists maccom1.i] { return } } }
- { dg-final { if { [grep maccom1.i "^passed"] != "" } { return } } }
- { dg-final { fail "maccom1.c: comment between # and directive name with -CC" } }
-*/
+/* { dg-final { scan-file maccom1.i "(^|\\n)passed" } } */
+
diff --git a/gcc/testsuite/gcc.dg/cpp/maccom2.c b/gcc/testsuite/gcc.dg/cpp/maccom2.c
index dcaf37aaf8e..a448082e53c 100644
--- a/gcc/testsuite/gcc.dg/cpp/maccom2.c
+++ b/gcc/testsuite/gcc.dg/cpp/maccom2.c
@@ -11,8 +11,4 @@
def
-/*
- { dg-final { if ![file exists maccom2.i] { return } } }
- { dg-final { if { [grep maccom2.i "^passed"] != "" } { return } } }
- { dg-final { fail "maccom2.c: comment between #define and identifier with -CC" } }
-*/
+/* { dg-final { scan-file maccom2.i "(^|\n)passed" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/maccom3.c b/gcc/testsuite/gcc.dg/cpp/maccom3.c
index 198453575b3..580c52c067d 100644
--- a/gcc/testsuite/gcc.dg/cpp/maccom3.c
+++ b/gcc/testsuite/gcc.dg/cpp/maccom3.c
@@ -10,8 +10,4 @@
def(x,y)
-/*
- { dg-final { if ![file exists maccom3.i] { return } } }
- { dg-final { if { [grep maccom3.i "^passed"] != "" } { return } } }
- { dg-final { fail "maccom3.c: comment in macro parameter list with -CC" } }
-*/
+/* { dg-final { scan-file maccom3.i "(^|\n)passed" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/maccom4.c b/gcc/testsuite/gcc.dg/cpp/maccom4.c
index b8a136ff02e..54806c154eb 100644
--- a/gcc/testsuite/gcc.dg/cpp/maccom4.c
+++ b/gcc/testsuite/gcc.dg/cpp/maccom4.c
@@ -13,7 +13,5 @@ def
/*
/* The + in the regexp prevents it from matching itself. */
- { dg-final { if ![file exists maccom4.i] { return } } }
- { dg-final { if { [grep maccom4.i "p+assed"] != "" } { return } } }
- { dg-final { fail "maccom4.c: comment in macro expansion with -CC" } }
+ { dg-final { scan-file maccom4.i "p+assed" } }
*/
diff --git a/gcc/testsuite/gcc.dg/cpp/maccom5.c b/gcc/testsuite/gcc.dg/cpp/maccom5.c
index f92f8bfe0f8..b01a045e00d 100644
--- a/gcc/testsuite/gcc.dg/cpp/maccom5.c
+++ b/gcc/testsuite/gcc.dg/cpp/maccom5.c
@@ -13,9 +13,6 @@ def:
/*
/* The + in the regexp prevents it from matching itself. */
- { dg-final { if ![file exists maccom5.i] { return } } }
- { dg-final { if \{ [grep maccom5.i "p+assed"] != "" \} \{ } }
- { dg-final { if \{ [grep maccom5.i "p+assed:"] == "" \} \{ } }
- { dg-final { return \} \} } }
- { dg-final { fail "maccom5.c: C++ comment in macro expansion with -CC" } }
+ { dg-final { scan-file maccom5.i "p+assed" } }
+ { dg-final { scan-file-not maccom5.i "p+assed:" } }
*/
diff --git a/gcc/testsuite/gcc.dg/cpp/maccom6.c b/gcc/testsuite/gcc.dg/cpp/maccom6.c
index 0b86c05c6d6..09ca87d4e72 100644
--- a/gcc/testsuite/gcc.dg/cpp/maccom6.c
+++ b/gcc/testsuite/gcc.dg/cpp/maccom6.c
@@ -17,8 +17,4 @@ failed
passed
#endif
-/*
- { dg-final { if ![file exists maccom6.i] { return } } }
- { dg-final { if { [grep maccom6.i "^passed"] != "" } { return } } }
- { dg-final { fail "maccom6.c: comments in macro expressions with -CC" } }
-*/
+/* { dg-final { scan-file maccom6.i "(^|\n)passed" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/multiline.c b/gcc/testsuite/gcc.dg/cpp/multiline.c
index 103f9f6f461..a71ebc69d88 100644
--- a/gcc/testsuite/gcc.dg/cpp/multiline.c
+++ b/gcc/testsuite/gcc.dg/cpp/multiline.c
@@ -18,9 +18,6 @@ L"line 1
line 4"
/* Nowhere in the output of this file should there be a blank line.
We check for that in the .i file.
- { dg-final { if ![file exists multiline.i] { return } } }
- { dg-final { if \{ [grep multiline.i "^$"] == "" \} \{ } }
- { dg-final { return \} } }
- { dg-final { fail "multiline.c: multi-line tokens" } } */
+ { dg-final { scan-file-not multiline.i "(^|\\n)\\n" } } */
/* { dg-bogus "missing term" "multiline strings" { target *-*-* } 11 } */
/* { dg-bogus "warning" "warning in place of error" { target *-*-* } 15 } */
diff --git a/gcc/testsuite/gcc.dg/cpp/spacing1.c b/gcc/testsuite/gcc.dg/cpp/spacing1.c
index ad1af4e91c7..27249600b56 100644
--- a/gcc/testsuite/gcc.dg/cpp/spacing1.c
+++ b/gcc/testsuite/gcc.dg/cpp/spacing1.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. */
+/* Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
@@ -43,13 +43,8 @@ f (g) str
) f
(bam) baz
-/*
- { dg-final { if ![file exists spacing1.i] { return } } }
- { dg-final { if \{ [grep spacing1.i " 44 ;"] != "" \} \{ } }
- { dg-final { if \{ [grep spacing1.i "B Q B Q A Q A:"] != "" \} \{ } }
- { dg-final { if \{ [grep spacing1.i "f.*bar"] == "" \} \{ } }
- { dg-final { if \{ [grep spacing1.i "^bar"] != "" \} \{ } }
- { dg-final { if \{ [grep spacing1.i "g \"1 2\" bam baz"] != "" \} \{ } }
- { dg-final { return \} \} \} \} \} } }
- { dg-final { fail "spacing1.c: spacing and new-line preservation" } }
-*/
+/* { dg-final { scan-file spacing1.i " 44 ;" } }
+ { dg-final { scan-file spacing1.i "B Q B Q A Q A:" } }
+ { dg-final { scan-file-not spacing1.i "f\[^\n\]*bar" } }
+ { dg-final { scan-file spacing1.i "(^|\n)bar" } }
+ { dg-final { scan-file spacing1.i "g \"1 2\" bam baz" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/spacing2.c b/gcc/testsuite/gcc.dg/cpp/spacing2.c
index 760872aea39..6cfa5a3d35a 100644
--- a/gcc/testsuite/gcc.dg/cpp/spacing2.c
+++ b/gcc/testsuite/gcc.dg/cpp/spacing2.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc. */
+/* Copyright (C) 2001, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
@@ -13,9 +13,4 @@
a = EMPTY
foo.. /* No leading space on output. */
-/*
- { dg-final { if ![file exists spacing2.i] { return } } }
- { dg-final { if \{ [grep spacing2.i "^bar\.\."] != "" \} \{ } }
- { dg-final { return \} } }
- { dg-final { fail "spacing2.c: spacing issues" } }
-*/
+/* { dg-final { scan-file spacing2.i "(^|\n)bar\.\." } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C2.c b/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C2.c
index 6836e9e9357..96bd371a968 100644
--- a/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C2.c
+++ b/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C2.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc. */
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. */
/* { dg-do preprocess } */
/* { dg-options "-C -traditional-cpp" } */
@@ -7,9 +7,5 @@
Neil Booth, 24 Jun 2002. */
-/*
- { dg-final { if ![file exists cmdlne-C2.i] { return } } }
- { dg-final { if { [grep cmdlne-C2.i "dg-final"] != "" } { return } } }
- { dg-final { fail "cmdlne-C2.i: C comments output with -C" } }
-*/
+/* { dg-final { scan-file cmdlne-C2.i "dg-final" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/trad/maccom1.c b/gcc/testsuite/gcc.dg/cpp/trad/maccom1.c
index da9c4a1e7dd..28602a51aeb 100644
--- a/gcc/testsuite/gcc.dg/cpp/trad/maccom1.c
+++ b/gcc/testsuite/gcc.dg/cpp/trad/maccom1.c
@@ -10,8 +10,4 @@
def
-/*
- { dg-final { if ![file exists maccom1.i] { return } } }
- { dg-final { if { [grep maccom1.i "^passed"] != "" } { return } } }
- { dg-final { fail "maccom1.c: comment between # and directive name with -CC" } }
-*/
+/* { dg-final { scan-file maccom1.i "(^|\n)passed" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/trad/maccom2.c b/gcc/testsuite/gcc.dg/cpp/trad/maccom2.c
index 331c9fc8c83..068c357c18c 100644
--- a/gcc/testsuite/gcc.dg/cpp/trad/maccom2.c
+++ b/gcc/testsuite/gcc.dg/cpp/trad/maccom2.c
@@ -11,8 +11,4 @@
def
-/*
- { dg-final { if ![file exists maccom2.i] { return } } }
- { dg-final { if { [grep maccom2.i "^passed"] != "" } { return } } }
- { dg-final { fail "maccom2.c: comment between #define and identifier with -CC" } }
-*/
+/* { dg-final { scan-file maccom2.i "(^|\n)passed" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/trad/maccom3.c b/gcc/testsuite/gcc.dg/cpp/trad/maccom3.c
index b3dd3acba41..a6eb3f85459 100644
--- a/gcc/testsuite/gcc.dg/cpp/trad/maccom3.c
+++ b/gcc/testsuite/gcc.dg/cpp/trad/maccom3.c
@@ -10,8 +10,4 @@
def(x,y)
-/*
- { dg-final { if ![file exists maccom3.i] { return } } }
- { dg-final { if { [grep maccom3.i "^passed"] != "" } { return } } }
- { dg-final { fail "maccom3.c: comment in macro parameter list with -CC" } }
-*/
+/* { dg-final { scan-file maccom3.i "(^|\n)passed" } } */
diff --git a/gcc/testsuite/gcc.dg/cpp/trad/maccom4.c b/gcc/testsuite/gcc.dg/cpp/trad/maccom4.c
index e962d2824dd..eac52da0d3a 100644
--- a/gcc/testsuite/gcc.dg/cpp/trad/maccom4.c
+++ b/gcc/testsuite/gcc.dg/cpp/trad/maccom4.c
@@ -13,7 +13,5 @@ def
/*
/* The + in the regexp prevents it from matching itself. */
- { dg-final { if ![file exists maccom4.i] { return } } }
- { dg-final { if { [grep maccom4.i "p+assed"] != "" } { return } } }
- { dg-final { fail "maccom4.c: comment in macro expansion with -CC" } }
+ { dg-final { scan-file maccom4.i "p+assed" } }
*/
diff --git a/gcc/testsuite/gcc.dg/cpp/trad/maccom6.c b/gcc/testsuite/gcc.dg/cpp/trad/maccom6.c
index 13f0fc59bdc..baf5e980df4 100644
--- a/gcc/testsuite/gcc.dg/cpp/trad/maccom6.c
+++ b/gcc/testsuite/gcc.dg/cpp/trad/maccom6.c
@@ -17,8 +17,4 @@ failed
passed
#endif
-/*
- { dg-final { if ![file exists maccom6.i] { return } } }
- { dg-final { if { [grep maccom6.i "^passed"] != "" } { return } } }
- { dg-final { fail "maccom6.c: comments in macro expressions with -CC" } }
-*/
+/* { dg-final { scan-file maccom6.i "(^|\n)passed" } } */