On 6/10/19 5:52 PM, Jakub Jelinek wrote:
Hi!
My PR85077
+ if (VECTOR_TYPE_P (TREE_TYPE (x)))
+ x = fold (x);
cp_fold change apparently broke the following and similar testcases, if
split_nonconstant_init splits the initialization into a runtime part and
some CONSTRUCTOR, it clears TREE_READONLY on it, and constant_value_1
had code to avoid returning that CONSTRUCTOR as the value if not
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P because that CONSTRUCTOR is only
part of the story. With the PR85077 change, such CONSTRUCTORs are turned
into VECTOR_CSTs by fold though and constant_value_1 then returns the wrong
thing.
Fixed thusly, bootstrapped/regtested on x86_64-linux, ok for trunk and
9.2/8.4?
OK.
Jason