From: Jason Merrill Date: Mon, 17 Aug 1998 19:29:45 +0000 (+0000) Subject: * decl.c (grokparms): No, here. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=482b883f893a6e350ff801a06e20785c03d380c3;p=gcc.git * decl.c (grokparms): No, here. From-SVN: r21801 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index af531e9b75f..aff231460e0 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,7 @@ 1998-08-17 Jason Merrill + * decl.c (grokparms): No, here. + * decl.c (grokdeclarator): Catch parm with pointer to array of unknown bound here... * method.c (process_overload_item): ...not here. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index d6249a5ab9f..e46de429faa 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -9607,11 +9607,6 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist) type = TREE_TYPE (type); } - if (decl_context == PARM && TREE_CODE (type) == ARRAY_TYPE - && TYPE_DOMAIN (type) == NULL_TREE) - cp_error ("parameter type includes pointer to array of unknown bound `%T'", - type); - /* Merge any constancy or volatility into the target type for the pointer. */ @@ -10825,6 +10820,17 @@ grokparms (first_parm, funcdef_flag) signature_error (decl, type); any_error = 1; /* Seems like a good idea. */ } + else if (POINTER_TYPE_P (type)) + { + tree t = type; + while (POINTER_TYPE_P (t) + || (TREE_CODE (t) == ARRAY_TYPE + && TYPE_DOMAIN (t) != NULL_TREE)) + t = TREE_TYPE (t); + if (TREE_CODE (t) == ARRAY_TYPE) + cp_error ("parameter type `%T' includes pointer to array of unknown bound", + type); + } } if (TREE_CODE (decl) == VOID_TYPE)