diff options
author | Volker Reichelt <reichelt@igpm.rwth-aachen.de> | 2005-01-22 00:12:27 +0000 |
---|---|---|
committer | Volker Reichelt <reichelt@gcc.gnu.org> | 2005-01-22 00:12:27 +0000 |
commit | 209136895dfd4069c3b8888ddd342a605e79b5ed (patch) | |
tree | f348632e87f513c7bb02c0c5ae86c24ea148a860 | |
parent | 15c8b2d40aa9a338654a3647a427f64ff111bca6 (diff) | |
download | gcc-209136895dfd4069c3b8888ddd342a605e79b5ed.tar.gz |
re PR c/18809 (ICE after a couple of errors with a simple invalid C code)
PR c/18809
* c-typeck.c (convert_arguments): Check for error_mark_node.
* gcc.dg/pr18809-1.c: New test.
From-SVN: r94049
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-typeck.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr18809-1.c | 7 |
4 files changed, 18 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b97af9a6f31..239949552c5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-01-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + PR c/18809 + * c-typeck.c (convert_arguments): Check for error_mark_node. + 2005-01-20 Ian Lance Taylor <ian@airs.com> PR tree-optimization/13000 diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index a4e4bc9df26..237afadedf4 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -2067,7 +2067,7 @@ convert_arguments (tree typelist, tree values, tree function, tree fundecl) /* Formal parm type is specified by a function prototype. */ tree parmval; - if (!COMPLETE_TYPE_P (type)) + if (type == error_mark_node || !COMPLETE_TYPE_P (type)) { error ("type of formal parameter %d is incomplete", parmnum + 1); parmval = val; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3d569207d84..f764fdde329 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-01-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + PR c/18809 + * gcc.dg/pr18809-1.c: New test. + 2005-01-21 Ian Lance Taylor <ian@airs.com> * gcc.dg/20050121-1.c: New test. diff --git a/gcc/testsuite/gcc.dg/pr18809-1.c b/gcc/testsuite/gcc.dg/pr18809-1.c new file mode 100644 index 00000000000..f20f00433fe --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr18809-1.c @@ -0,0 +1,7 @@ +/* PR c/18809 */ +/* Origin: Andrew Pinski <pinskia@gcc.gnu.org> */ + +/* { dg-do compile } */ + +void foo(enum E e) {} /* { dg-error "" } */ +void bar() { foo(0); } /* { dg-error "formal" } */ |