comparison src/lrecord.h @ 4937:195ceb7d6229

(for main branch) Proper fix for dynarr->largest value assertion failure. Previous fix wasn't right.
author Ben Wing <ben@xemacs.org>
date Tue, 19 Jan 2010 05:35:57 -0600
parents 94bba904528c
children 19a72041c5ed
comparison
equal deleted inserted replaced
4936:94bba904528c 4937:195ceb7d6229
1144 1144
1145 #define XD_DYNARR_DESC(base_type, sub_desc) \ 1145 #define XD_DYNARR_DESC(base_type, sub_desc) \
1146 { XD_BLOCK_PTR, offsetof (base_type, base), \ 1146 { XD_BLOCK_PTR, offsetof (base_type, base), \
1147 XD_INDIRECT(1, 0), {sub_desc} }, \ 1147 XD_INDIRECT(1, 0), {sub_desc} }, \
1148 { XD_INT, offsetof (base_type, len) }, \ 1148 { XD_INT, offsetof (base_type, len) }, \
1149 { XD_INT_RESET, offsetof (base_type, largest) }, \ 1149 { XD_INT_RESET, offsetof (base_type, largest), XD_INDIRECT(1, 0) }, \
1150 { XD_INT_RESET, offsetof (base_type, max), XD_INDIRECT(1, 0) } 1150 { XD_INT_RESET, offsetof (base_type, max), XD_INDIRECT(1, 0) }
1151 1151
1152 #ifdef NEW_GC 1152 #ifdef NEW_GC
1153 #define XD_LISP_DYNARR_DESC(base_type, sub_desc) \ 1153 #define XD_LISP_DYNARR_DESC(base_type, sub_desc) \
1154 { XD_LISP_OBJECT_BLOCK_PTR, offsetof (base_type, base), \ 1154 { XD_LISP_OBJECT_BLOCK_PTR, offsetof (base_type, base), \
1155 XD_INDIRECT(1, 0), {sub_desc} }, \ 1155 XD_INDIRECT(1, 0), {sub_desc} }, \
1156 { XD_INT, offsetof (base_type, len) }, \ 1156 { XD_INT, offsetof (base_type, len) }, \
1157 { XD_INT_RESET, offsetof (base_type, largest) }, \ 1157 { XD_INT_RESET, offsetof (base_type, largest), XD_INDIRECT(1, 0) }, \
1158 { XD_INT_RESET, offsetof (base_type, max), XD_INDIRECT(1, 0) } 1158 { XD_INT_RESET, offsetof (base_type, max), XD_INDIRECT(1, 0) }
1159 #endif /* NEW_GC */ 1159 #endif /* NEW_GC */
1160 1160
1161 /* DEFINE_LRECORD_IMPLEMENTATION is for objects with constant size. 1161 /* DEFINE_LRECORD_IMPLEMENTATION is for objects with constant size.
1162 DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION is for objects whose size varies. 1162 DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION is for objects whose size varies.