I've confirmed that these changes fix the error in MIRI, too. I'll post an updated patch once I confirm that there aren't any regressions.
On Fri, Feb 2, 2024 at 10:38 AM Jakub Jelinek <ja...@redhat.com> wrote: > On Fri, Feb 02, 2024 at 04:32:09PM +0100, Jakub Jelinek wrote: > > Anyway, I think all of > > decBasic.c: for (; UBTOUI(umsd)==0 && umsd+3<ulsd;) umsd+=4; > > decBasic.c: for (; *umsd==0 && umsd<ulsd;) umsd++; > > decBasic.c: for (; UBTOUI(hi->msd)==0 && hi->msd+3<hi->lsd;) hi->msd+=4; > > decBasic.c: for (; *hi->msd==0 && hi->msd<hi->lsd;) hi->msd++; > > decBasic.c: for (; UBTOUI(lo->msd)==0 && lo->msd+3<lo->lsd;) lo->msd+=4; > > decBasic.c: for (; *lo->msd==0 && lo->msd<lo->lsd;) lo->msd++; > > decBasic.c: for (; UBTOUI(lo->msd)==0 && lo->msd+3<lo->lsd;) > lo->msd+=4; > > decBasic.c: for (; *lo->msd==0 && lo->msd<lo->lsd;) lo->msd++; > > decCommon.c: for (; *umsd==0 && umsd<ulsd;) umsd++; > > even more than that: > decBasic.c: for (; *msua==0 && msua>=lsua;) msua--; > decBasic.c: if (*msua==0 && msua==lsua) break; > decCommon.c: if (*ulsd==0 && ulsd==umsd) { /* have zero */ > decNumber.c: for (; *msu1==0 && msu1>var1; msu1--) var1units--; > too just from simple grep. > > Jakub > >