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>
|
2004-10-14 Matt Austern <austern@apple.com>
|
||||||
|
|
||||||
* pointer-set.c: New file, special-purpose hash table.
|
* 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)
|
if (TREE_CODE (parm) != PARM_DECL)
|
||||||
continue;
|
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);
|
error ("%Jparameter %qD has incomplete type", parm, parm);
|
||||||
TREE_TYPE (parm) = error_mark_node;
|
TREE_TYPE (parm) = error_mark_node;
|
||||||
|
@ -2033,7 +2033,7 @@ compstmt_contents_nonempty:
|
|||||||
|
|
||||||
compstmt_primary_start:
|
compstmt_primary_start:
|
||||||
'(' '{'
|
'(' '{'
|
||||||
{ if (current_function_decl == 0)
|
{ if (cur_stmt_list == NULL)
|
||||||
{
|
{
|
||||||
error ("braced-group within expression allowed "
|
error ("braced-group within expression allowed "
|
||||||
"only inside a function");
|
"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