diff options
author | Craig Burley <craig@jcb-sc.com> | 1999-05-09 19:56:58 +0000 |
---|---|---|
committer | Craig Burley <burley@gcc.gnu.org> | 1999-05-09 15:56:58 -0400 |
commit | ea0f786bafeaa48ef4f25a08bb3f52ba2bc495a5 (patch) | |
tree | 35bfde1ffd1f0d468e8f3dbf0cef7e9e53657e14 | |
parent | 418a84c2577ffce4d2c158f7c5878ff0bc6ba7c7 (diff) | |
download | gcc-ea0f786bafeaa48ef4f25a08bb3f52ba2bc495a5.zip gcc-ea0f786bafeaa48ef4f25a08bb3f52ba2bc495a5.tar.gz gcc-ea0f786bafeaa48ef4f25a08bb3f52ba2bc495a5.tar.bz2 |
Handle ERROR_MARK input
From-SVN: r26848
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-typeck.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/990506-0.c | 9 |
4 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 99b09bc..40d12c7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sun May 9 22:51:04 1999 Craig Burley <craig@jcb-sc.com> + + Fix gcc.dg/990506-0.c: + * c-typeck.c (require_complete_type): Handle ERROR_MARK input. + Sun May 9 13:19:12 1999 Jeffrey A Law (law@cygnus.com) * gcse.c (cprop_insn): Do not try to simplify a simple jump. diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 5133719..854baf8 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -83,6 +83,9 @@ require_complete_type (value) { tree type = TREE_TYPE (value); + if (TREE_CODE (value) == ERROR_MARK) + return error_mark_node; + /* First, detect a valid value with a complete type. */ if (TYPE_SIZE (type) != 0 && type != void_type_node) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 534572b..e421d52 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +1999-05-08 Craig Burley <craig@jcb-sc.com> + + * gcc.dg/990506-0.c: New test. + 1999-05-08 Richard Henderson <rth@cygnus.com> * g++.old-deja/g++.benjamin/p12475.C: Use LONG_MAX to find diff --git a/gcc/testsuite/gcc.dg/990506-0.c b/gcc/testsuite/gcc.dg/990506-0.c new file mode 100644 index 0000000..7db72157 --- /dev/null +++ b/gcc/testsuite/gcc.dg/990506-0.c @@ -0,0 +1,9 @@ +/* Verify that a diagnostic is issued without crashing due to + --enable-checking catching a bug in the C front end. */ +/* { dg-do compile } */ +x() +{ + foo (i); + /* { dg-error "undeclared" "undeclared-variable message" { target native } { 6 } } */ + /* { dg-error "function it appears in" "reminder message" { target native } { 6 } } */ +} |