https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89860
--- Comment #2 from Hongtao.liu <crazylht at gmail dot com> --- The code is like: for (int i = 0; i < m_vars_total; i++) { // instead of m_vars[i].type.src we will use m_vars_extra[i].type_src if (i < vars_total) { ...... if (m_vars[i].type.dst == c_extended_type && i < vars_total) ...... } ...... } So the later ***i < vars_total*** is not actually needed.