From: Jason Merrill Date: Sat, 6 Jun 2020 04:07:21 +0000 (-0400) Subject: c++: Tweak predeclare_vla. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ef41587df9839d1dfc77dbc48a0830e42b36626e;p=gcc.git 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. --- diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c index e8fbc300fda..0e949e29c5c 100644 --- a/gcc/cp/cp-gimplify.c +++ b/gcc/cp/cp-gimplify.c @@ -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);