I think the fix for 35602 was wrong; instead of trying to suppress the warning, we should avoid building expressions that trip it. In this case, the problem is a type mismatch in build_vec_init between maxindex/iterator (ptrdiff_type_node) and array_type_nelts_total (sizetype). And indeed, converting (ptrdiff_t)-1 to unsigned changes its sign.

I think a better fix for 35602 would be to bail out of build_vec_init exit early if maxindex is -1.

Jason

Reply via email to