c++: vector compound literal [PR104206]

My patch for PR101072 removed the specific VECTOR_TYPE handling here, which
broke pr72747-2.c on PPC; this patch restores it.

	PR c++/104206
	PR c++/101072

gcc/cp/ChangeLog:

	* semantics.cc (finish_compound_literal): Restore VECTOR_TYPE check.
This commit is contained in:
Jason Merrill 2022-01-26 12:44:31 -05:00
parent 866d73019b
commit 9bf2179204
1 changed files with 3 additions and 2 deletions

View File

@ -3272,8 +3272,9 @@ finish_compound_literal (tree type, tree compound_literal,
/* Represent other compound literals with TARGET_EXPR so we produce
a prvalue, and can elide copies. */
if (TREE_CODE (compound_literal) == CONSTRUCTOR
|| TREE_CODE (compound_literal) == VEC_INIT_EXPR)
if (!VECTOR_TYPE_P (type)
&& (TREE_CODE (compound_literal) == CONSTRUCTOR
|| TREE_CODE (compound_literal) == VEC_INIT_EXPR))
{
/* The CONSTRUCTOR is now an initializer, not a compound literal. */
if (TREE_CODE (compound_literal) == CONSTRUCTOR)