From: Volker Reichelt Date: Fri, 1 Dec 2006 21:28:35 +0000 (+0000) Subject: re PR c++/30021 (ICE on invalid parameter for main) X-Git-Tag: releases/gcc-4.3.0~8188 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d8e1d61976e33667ed0d9f8ae6f9619076ecad8a;p=thirdparty%2Fgcc.git re PR c++/30021 (ICE on invalid parameter for main) PR c++/30021 * c-common.c (check_main_parameter_types): Check for error_mark_node. * g++.dg/other/main1.C: New test. From-SVN: r119415 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 34ac82f96a69..d94686b33304 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-12-01 Volker Reichelt + + PR c++/30021 + * c-common.c (check_main_parameter_types): Check for error_mark_node. + 2006-12-01 Andrew MacLeod * common.opt (ftree-combine-temps): Remove. diff --git a/gcc/c-common.c b/gcc/c-common.c index d7e98deeb2f6..d2c39bd10778 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -1034,7 +1034,7 @@ check_main_parameter_types (tree decl) { tree type = args ? TREE_VALUE (args) : 0; - if (type == void_type_node) + if (type == void_type_node || type == error_mark_node ) break; ++argct; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fe29e8615eb6..31f6ea6d6a68 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-12-01 Volker Reichelt + + PR c++/30021 + * g++.dg/other/main1.C: New test. + 2006-12-01 Thomas Koenig PR libfortran/29568 diff --git a/gcc/testsuite/g++.dg/other/main1.C b/gcc/testsuite/g++.dg/other/main1.C new file mode 100644 index 000000000000..ba945741efbd --- /dev/null +++ b/gcc/testsuite/g++.dg/other/main1.C @@ -0,0 +1,4 @@ +// PR c++/30021 +// { dg-do compile } + +int main(void,char**); // { dg-error "incomplete type|invalid use" }