c++: Tweak predeclare_vla.

We only need to predeclare a VLA type if it's wrapped in a pointer type;
otherwise gimplify_type_sizes will handle it.

gcc/cp/ChangeLog:

	PR c++/95552
	* cp-gimplify.c (predeclare_vla): Only predeclare a VLA if it's
	wrapped in a pointer type.
This commit is contained in:
Jason Merrill 2020-06-06 00:07:21 -04:00
parent bf4ab2689b
commit ef41587df9
1 changed files with 2 additions and 1 deletions

View File

@ -1205,7 +1205,8 @@ predeclare_vla (tree expr)
return expr;
vla = TREE_TYPE (vla);
}
if (TYPE_NAME (vla) || !variably_modified_type_p (vla, NULL_TREE))
if (vla == type || TYPE_NAME (vla)
|| !variably_modified_type_p (vla, NULL_TREE))
return expr;
tree decl = build_decl (input_location, TYPE_DECL, NULL_TREE, vla);