Hi! With _BitInt(575) or any other _BitInt(513) or larger constants we can run into this assertion. MAX_BITSIZE_MODE_ANY_INT is just a value from which WIDE_INT_MAX_PRECISION is derived.
2023-08-09 Jakub Jelinek <ja...@redhat.com> PR c/102989 * lto-streamer-in.cc (lto_input_tree_1): Assert TYPE_PRECISION is up to WIDE_INT_MAX_PRECISION rather than MAX_BITSIZE_MODE_ANY_INT. --- gcc/lto-streamer-in.cc.jj 2023-07-17 09:07:42.078283882 +0200 +++ gcc/lto-streamer-in.cc 2023-07-27 15:03:24.255234159 +0200 @@ -1888,7 +1888,7 @@ lto_input_tree_1 (class lto_input_block for (i = 0; i < len; i++) a[i] = streamer_read_hwi (ib); - gcc_assert (TYPE_PRECISION (type) <= MAX_BITSIZE_MODE_ANY_INT); + gcc_assert (TYPE_PRECISION (type) <= WIDE_INT_MAX_PRECISION); result = wide_int_to_tree (type, wide_int::from_array (a, len, TYPE_PRECISION (type))); streamer_tree_cache_append (data_in->reader_cache, result, hash); Jakub