comparison src/lisp.h @ 3319:2f13ae1532db

[xemacs-hg @ 2006-03-30 23:10:36 by crestani] * lisp.h (Dynarr_add): Add local variable imp to avoid VC6 internal compiler error.
author crestani
date Thu, 30 Mar 2006 23:10:38 +0000
parents 73051095a712
children b544987e2eca
comparison
equal deleted inserted replaced
3318:1ec58ab31874 3319:2f13ae1532db
1610 } while (0) 1610 } while (0)
1611 1611
1612 #ifdef NEW_GC 1612 #ifdef NEW_GC
1613 #define Dynarr_add(d, el) \ 1613 #define Dynarr_add(d, el) \
1614 do { \ 1614 do { \
1615 const struct lrecord_implementation *imp = (d)->lisp_imp; \
1615 if (Dynarr_verify_mod (d)->cur >= (d)->max) \ 1616 if (Dynarr_verify_mod (d)->cur >= (d)->max) \
1616 Dynarr_resize ((d), (d)->cur+1); \ 1617 Dynarr_resize ((d), (d)->cur+1); \
1617 ((d)->base)[(d)->cur] = (el); \ 1618 ((d)->base)[(d)->cur] = (el); \
1618 \ 1619 \
1619 if ((d)->lisp_imp) \ 1620 if (imp) \
1620 set_lheader_implementation \ 1621 set_lheader_implementation \
1621 ((struct lrecord_header *)&(((d)->base)[(d)->cur]), \ 1622 ((struct lrecord_header *)&(((d)->base)[(d)->cur]), imp); \
1622 (d)->lisp_imp); \
1623 \ 1623 \
1624 (d)->cur++; \ 1624 (d)->cur++; \
1625 if ((d)->cur > (d)->largest) \ 1625 if ((d)->cur > (d)->largest) \
1626 (d)->largest = (d)->cur; \ 1626 (d)->largest = (d)->cur; \
1627 } while (0) 1627 } while (0)