re PR c/17023 (ICE with nested functions in parameter declaration)
PR c/17023 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type as error_mark_node. * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null instaed of current_function_decl non-null. From-SVN: r89063
This commit is contained in:
parent
0c58f841a5
commit
559f2da552
@ -1,3 +1,11 @@
|
||||
2004-10-14 Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR c/17023
|
||||
* c-decl.c (store_parm_decls_oldstyle): Care for parameter type
|
||||
as error_mark_node.
|
||||
* c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
|
||||
instaed of current_function_decl non-null.
|
||||
|
||||
2004-10-14 Matt Austern <austern@apple.com>
|
||||
|
||||
* pointer-set.c: New file, special-purpose hash table.
|
||||
|
@ -6002,7 +6002,8 @@ store_parm_decls_oldstyle (tree fndecl, const struct c_arg_info *arg_info)
|
||||
if (TREE_CODE (parm) != PARM_DECL)
|
||||
continue;
|
||||
|
||||
if (!COMPLETE_TYPE_P (TREE_TYPE (parm)))
|
||||
if (TREE_TYPE (parm) != error_mark_node
|
||||
&& !COMPLETE_TYPE_P (TREE_TYPE (parm)))
|
||||
{
|
||||
error ("%Jparameter %qD has incomplete type", parm, parm);
|
||||
TREE_TYPE (parm) = error_mark_node;
|
||||
|
@ -2033,7 +2033,7 @@ compstmt_contents_nonempty:
|
||||
|
||||
compstmt_primary_start:
|
||||
'(' '{'
|
||||
{ if (current_function_decl == 0)
|
||||
{ if (cur_stmt_list == NULL)
|
||||
{
|
||||
error ("braced-group within expression allowed "
|
||||
"only inside a function");
|
||||
|
10
gcc/testsuite/gcc.dg/20041014-1.c
Normal file
10
gcc/testsuite/gcc.dg/20041014-1.c
Normal file
@ -0,0 +1,10 @@
|
||||
/* PR c/17023 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "" } */
|
||||
|
||||
void
|
||||
f(a, b)
|
||||
int a;
|
||||
int b[({ void h() {} 1; })]; /* { dg-error "braced-group" } */
|
||||
{
|
||||
}
|
Loading…
Reference in New Issue
Block a user