https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88057
Bug ID: 88057 Summary: libdecnumber/decCommon.c:479: use of out of scope variable Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- trunk/libdecnumber/decCommon.c:479] -> [trunk/libdecnumber/decCommon.c:471] -> [trunk/libdecnumber/decCommon.c:483]: (error) Using pointer to local variable 'buffer' that is out of scope. svn blame says 128350 janis uByte buffer[ROUNDUP(DECPMAX+3, 4)]; /* [+3 allows uInt padding] */ 128350 janis uByte *s=umsd; /* source */ 128350 janis uByte *t=buffer; /* safe target */ 128350 janis uByte *tlsd=buffer+(ulsd-umsd)+shift; /* target LSD */ 128350 janis /* printf("folddown shift=%ld\n", (LI)shift); */ 145274 bje for (; s<=ulsd; s+=4, t+=4) UBFROMUI(t, UBTOUI(s)); 145274 bje for (t=tlsd-shift+1; t<=tlsd; t+=4) UBFROMUI(t, 0); /* pad 0s */ 128350 janis num->exponent-=shift; 128350 janis umsd=buffer; 128350 janis ulsd=tlsd; 128350 janis } 128350 janis } /* fold-down? */ 128350 janis length=ulsd-umsd+1; /* recalculate length */