https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94598
--- Comment #2 from Martin Jambor <jamborm at gcc dot gnu.org> --- For arrays of size 1, get_ref_base_and_extent knows that the expression can only access the one element even if the index is a variable. It seems it does not happen if the ARRAY_REF is within a COMPONENT_REF, an expression created by new total scalarization. I'll adjust the assert for GCC 10 but will also have a look at why get_ref_base_and_extent does that.