Alex Coplan <[email protected]> writes: > The PR showed us ICEing in build_poly_int_cst because we have type set > to a non-type tree node (a var_decl). A closer look shows this is > because we pass the wrong variable to wide_int_to_tree in > expmed.cc:make_tree: we pass t instead of type, where t is > uninitialized at the point of the call. Fixed thusly.
Thanks for the fix. > I also took the opportunity to move the CONST_POLY_INT case out of the > default: section into its own case of the switch. FWIW, the reason for generally preferring "CONST_POLY_INT_P (...)" over "case POLY_INT_CST:" was so that it would be compiled out on x86 and other targets that don't use POLY_INT: /* Return true if NODE is a POLY_INT_CST. This is only ever true on targets with variable-sized modes. */ #define POLY_INT_CST_P(NODE) \ (NUM_POLY_INT_COEFFS > 1 && TREE_CODE (NODE) == POLY_INT_CST) But this function probably isn't hot enough for that to matter. Richard
