aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2001-05-16 09:37:21 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2001-05-16 09:37:21 +0000
commitcc469ee98e2f333a76532552fa96ec845a17a03a (patch)
tree0441f888743a37ae399d012a85099a038029463f
parent3f0a9b3563fa102e975854ecdd17980550c9cd22 (diff)
downloadgcc-cc469ee98e2f333a76532552fa96ec845a17a03a.zip
gcc-cc469ee98e2f333a76532552fa96ec845a17a03a.tar.gz
gcc-cc469ee98e2f333a76532552fa96ec845a17a03a.tar.bz2
spew.c (read_token): Call yyerror on all unexpected tokens.
cp: * spew.c (read_token): Call yyerror on all unexpected tokens. testsuite: * g++.old-deja/g++.other/crash41.C: New test. From-SVN: r42143
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/spew.c11
-rw-r--r--gcc/testsuite/ChangeLog8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash41.C13
4 files changed, 26 insertions, 10 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index a739534..06e64a5 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,9 @@
2001-05-16 Nathan Sidwell <nathan@codesourcery.com>
+ * spew.c (read_token): Call yyerror on all unexpected tokens.
+
+2001-05-16 Nathan Sidwell <nathan@codesourcery.com>
+
* init.c (member_init_ok_or_else): Take a tree rather than
string for name.
(expand_member_init): Adjust.
diff --git a/gcc/cp/spew.c b/gcc/cp/spew.c
index 4a230f0..7b88757 100644
--- a/gcc/cp/spew.c
+++ b/gcc/cp/spew.c
@@ -1,6 +1,6 @@
/* Type Analyzer for GNU C++.
Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000 Free Software Foundation, Inc.
+ 1999, 2000, 2001 Free Software Foundation, Inc.
Hacked... nay, bludgeoned... by Mark Eichin (eichin@cygnus.com)
This file is part of GNU CC.
@@ -353,14 +353,9 @@ read_token (t)
t->yychar = STRING;
break;
- /* These tokens should not survive translation phase 4. */
- case CPP_HASH:
- case CPP_PASTE:
- error ("syntax error before '#' token");
- goto retry;
-
default:
- abort ();
+ yyerror ("parse error");
+ goto retry;
}
t->lineno = lineno;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9793562..ffe5ab5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,7 +1,11 @@
2001-05-16 Nathan Sidwell <nathan@codesourcery.com>
- * g++.pt/inherit2.C: Remove XFAIL.
- * g++.pt/crash66.C: New test.
+ * g++.old-deja/g++.other/crash41.C: New test.
+
+2001-05-16 Nathan Sidwell <nathan@codesourcery.com>
+
+ * g++.old-deja/g++.pt/inherit2.C: Remove XFAIL.
+ * g++.old-deja/g++.pt/crash66.C: New test.
2001-05-15 Benjamin Kosnik <bkoz@redhat.com>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash41.C b/gcc/testsuite/g++.old-deja/g++.other/crash41.C
new file mode 100644
index 0000000..7043450
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/crash41.C
@@ -0,0 +1,13 @@
+// Build don't link:
+//
+// Copyright (C) 2001 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 8 May 2001 <nathan@codesourcery.com>
+
+// Bug 2744. We ICE'd on strange characters
+
+@ // ERROR - parse error
+int a; #// ERROR - parse error
+## // ERROR - parse error
+$ // ERROR - parse error
+£ // ERROR - parse error
+` // ERROR - parse error