diff src/ntheap.c @ 282:c42ec1d1cded r21-0b39

Import from CVS: tag r21-0b39
author cvs
date Mon, 13 Aug 2007 10:33:18 +0200
parents c5d627a313b1
children 8e84bee8ddd0
line wrap: on
line diff
--- a/src/ntheap.c	Mon Aug 13 10:32:23 2007 +0200
+++ b/src/ntheap.c	Mon Aug 13 10:33:18 2007 +0200
@@ -189,13 +189,19 @@
       if (!data_region_base)
 	return NULL;
 
+#ifndef USE_MINIMAL_TAGBITS
       /* Ensure that the addresses don't use the upper tag bits since
 	 the Lisp type goes there.  */
-      if (((unsigned long) data_region_base & ~VALMASK) != 0) 
+#ifdef USE_UNION_TYPE
+      if (((unsigned long) data_region_base & ~((1U << VALBITS) - 1)) != 0)
+#else
+      if (((unsigned long) data_region_base & ~VALMASK) != 0)
+#endif
 	{
 	  printf ("Error: The heap was allocated in upper memory.\n");
 	  exit (1);
 	}
+#endif
 
       data_region_end = data_region_base;
       real_data_region_end = data_region_end;