X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2FSDCCglue.c;h=19c452ea17571170913290e4404f3bea74cee696;hb=80972b2e54c9b88f11c27b878874fd2a6a681391;hp=060ef51547a28d7d0ba30125c03b0ca0ec8cf7d0;hpb=b880df34d5377ceee7a8e9465e73aee076fa8d49;p=fw%2Fsdcc diff --git a/src/SDCCglue.c b/src/SDCCglue.c index 060ef515..19c452ea 100644 --- a/src/SDCCglue.c +++ b/src/SDCCglue.c @@ -660,6 +660,7 @@ printIvalBitFields (symbol **sym, initList **ilist, struct dbuf_s * oBuf) if (0 == SPEC_BLEN (lsym->etype)) { /* bit-field structure member with a width of 0 */ + lsym = lsym->next; break; } else if (!SPEC_BUNNAMED (lsym->etype)) @@ -744,9 +745,11 @@ printIvalStruct (symbol * sym, sym_link * type, if (IS_BITFIELD (sflds->type)) printIvalBitFields(&sflds, &iloop, oBuf); else - printIval (sym, sflds->type, iloop, oBuf, 1); - sflds = sflds->next; - iloop = iloop ? iloop->next : NULL; + { + printIval (sym, sflds->type, iloop, oBuf, 1); + sflds = sflds->next; + iloop = iloop ? iloop->next : NULL; + } } } @@ -771,9 +774,6 @@ printIvalChar (symbol * sym, sym_link * type, initList * ilist, struct dbuf_s * { if (!size) { - werror (E_INTERNAL_ERROR, __FILE__, __LINE__, - "size should never be 0"); - /* we have not been given a size, but now we know it */ size = strlen (SPEC_CVAL (val->etype).v_char) + 1; /* but first check, if it's a flexible array */