-/* Heap management routines for GNU Emacs on the Microsoft W32 API.
- Copyright (C) 1994, 2001-2011 Free Software Foundation, Inc.
+/* Heap management routines for GNU Emacs on the Microsoft Windows API.
+ Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#include <config.h>
#include <stdio.h>
-#include <setjmp.h>
#include "w32heap.h"
#include "lisp.h" /* for VALMASK */
w32_minor_version = version.info.minor;
if (version.info.platform & 0x8000)
- os_subtype = OS_WIN95;
+ os_subtype = OS_9X;
else
os_subtype = OS_NT;
GetVersionEx (&osinfo_cache);
w32_build_number = osinfo_cache.dwBuildNumber;
- if (os_subtype == OS_WIN95)
+ if (os_subtype == OS_9X)
w32_build_number &= 0xffff;
}
return data_region_end;
}
-#if !defined (USE_LISP_UNION_TYPE) && !defined (USE_LSB_TAG)
+#if !USE_LSB_TAG
static char *
allocate_heap (void)
{
return ptr;
}
-#else /* USE_LISP_UNION_TYPE || USE_LSB_TAG */
+#else /* USE_LSB_TAG */
static char *
allocate_heap (void)
{
return ptr;
}
-#endif /* USE_LISP_UNION_TYPE || USE_LSB_TAG */
+#endif /* USE_LSB_TAG */
/* Emulate Unix sbrk. Note that ralloc.c expects the return value to
exit (1);
}
-#if !defined (USE_LISP_UNION_TYPE) && !defined (USE_LSB_TAG)
+#if !USE_LSB_TAG
/* 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)
if (need_to_alloc)
sbrk (need_to_alloc);
}
-
-#if (_MSC_VER >= 1000 && _MSC_VER < 1300 && !defined (USE_CRT_DLL))
-
-/* MSVC 4.2 invokes these functions from mainCRTStartup to initialize
- a heap via HeapCreate. They are normally defined by the runtime,
- but we override them here so that the unnecessary HeapCreate call
- is not performed. */
-
-int __cdecl
-_heap_init (void)
-{
- /* Stepping through the assembly indicates that mainCRTStartup is
- expecting a nonzero success return value. */
- return 1;
-}
-
-void __cdecl
-_heap_term (void)
-{
- return;
-}
-
-#endif
-