changeset 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 1ec58ab31874
children a921f5f2aa11
files src/ChangeLog src/lisp.h
diffstat 2 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Thu Mar 30 21:51:09 2006 +0000
+++ b/src/ChangeLog	Thu Mar 30 23:10:38 2006 +0000
@@ -1,3 +1,8 @@
+2006-03-30  Adrian Aichner  <adrian@xemacs.org>
+
+	* lisp.h (Dynarr_add): Add local variable imp to avoid VC6
+	internal compiler error.
+
 2006-03-26  Marcus Crestani  <crestani@xemacs.org>
 
 	* gc.c: Remove functions for explicitly-freed statistics
--- a/src/lisp.h	Thu Mar 30 21:51:09 2006 +0000
+++ b/src/lisp.h	Thu Mar 30 23:10:38 2006 +0000
@@ -1612,14 +1612,14 @@
 #ifdef NEW_GC
 #define Dynarr_add(d, el)					\
 do {								\
+  const struct lrecord_implementation *imp = (d)->lisp_imp;	\
   if (Dynarr_verify_mod (d)->cur >= (d)->max)			\
     Dynarr_resize ((d), (d)->cur+1);				\
   ((d)->base)[(d)->cur] = (el);					\
 								\
-  if ((d)->lisp_imp)						\
+  if (imp)							\
     set_lheader_implementation					\
-     ((struct lrecord_header *)&(((d)->base)[(d)->cur]),	\
-      (d)->lisp_imp);						\
+     ((struct lrecord_header *)&(((d)->base)[(d)->cur]), imp);	\
 								\
   (d)->cur++;							\
   if ((d)->cur > (d)->largest)					\