On 12/06/2012 02:16 AM, Jakub Jelinek wrote:
With Marc's recent changes to fold vector CONSTRUCTORs into VECTOR_CSTs if possible, we now ICE in adjust_temp_type, because the type of VECTOR_CST is not SCALAR_TYPE_P. Either we can handle VECTOR_CSTs directly (in that case ignore_overflows is also called on each VECTOR_CST constant, but not sure if that is needed), as done in the patch below, or Marc has an alternative patch to just change the assert into gcc_assert (scalarish_type_p); Which way do you prefer?
If Marc's patch works, let's go with that.
BTW, the PR and the referenced PR contains some other patches, e.g. cp_tree_equal not handling VECTOR_CSTs. For that it is a similar question, either VECTOR_CSTs can be handled there using operand_equal_p, or by calling cp_tree_equal on the VECTOR_CST elements.
Let's go with the operand_equal_p option; less code duplication is good. Jason