X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/6df54671fdbe53113164ffed5b36fa2a83ae85e0..974aae61bbb8c05e0d0fc1a95b419fe596423fd8:/src/mem-limits.h diff --git a/src/mem-limits.h b/src/mem-limits.h index 333642f0c8..aac8a39617 100644 --- a/src/mem-limits.h +++ b/src/mem-limits.h @@ -1,5 +1,5 @@ /* Includes for memory limit warnings. - Copyright (C) 1990, 1993, 1994, 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1990, 93, 94, 95, 1996, 2004 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -15,11 +15,12 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ #ifdef MSDOS #include +extern int etext; #endif /* Some systems need this before . */ @@ -36,15 +37,23 @@ extern int etext, __data_start; weak_extern (__data_start) #else /* not _LIBC */ -#if defined (__osf__) && (defined (__mips) || defined (mips) || defined(__alpha)) -#include -#include +#ifdef HAVE_SYS_RESOURCE_H +# include +# include +#else +# if HAVE_SYS_VLIMIT_H +# include /* Obsolete, says glibc */ +# endif #endif #ifdef __bsdi__ #define BSD4_2 #endif +#ifdef CYGWIN +#define BSD4_2 +#endif + #ifndef BSD4_2 #ifndef USG #ifndef MSDOS @@ -62,11 +71,7 @@ extern int etext, __data_start; weak_extern (__data_start) /* The important properties of this type are that 1) it's a pointer, and 2) arithmetic on it should work as if the size of the object pointed to has a size of 1. */ -#ifdef __STDC__ -typedef void *POINTER; -#else -typedef char *POINTER; -#endif +typedef POINTER_TYPE *POINTER; typedef unsigned long SIZE; @@ -76,19 +81,27 @@ typedef unsigned long SIZE; #define NULL ((POINTER) 0) extern POINTER start_of_data (); -#ifdef DATA_SEG_BITS +#if defined USE_LSB_TAG +#define EXCEEDS_LISP_PTR(ptr) 0 +#elif defined DATA_SEG_BITS #define EXCEEDS_LISP_PTR(ptr) \ (((EMACS_UINT) (ptr) & ~DATA_SEG_BITS) >> VALBITS) #else #define EXCEEDS_LISP_PTR(ptr) ((EMACS_UINT) (ptr) >> VALBITS) #endif +#ifdef DATA_START +#define start_of_data() ((char *)DATA_START) +#endif + #ifdef BSD_SYSTEM #ifndef DATA_SEG_BITS +#ifndef DATA_START extern char etext; #define start_of_data() &etext #endif #endif +#endif #else /* not emacs */ extern char etext; @@ -122,7 +135,7 @@ get_lim_data () lim_data = -1; /* Use the ulimit call, if we seem to have it. */ -#if !defined (ULIMIT_BREAK_VALUE) || defined (LINUX) +#if !defined (ULIMIT_BREAK_VALUE) || defined (GNU_LINUX) lim_data = ulimit (3, 0); #endif @@ -141,8 +154,8 @@ get_lim_data () static void get_lim_data () { - extern unsigned long data_region_size; - lim_data = data_region_size; + extern unsigned long reserved_heap_size; + lim_data = reserved_heap_size; } #else @@ -183,3 +196,6 @@ get_lim_data () #endif /* not WINDOWSNT */ #endif /* not USG */ #endif /* not NO_LIM_DATA */ + +/* arch-tag: fe39244e-e54f-4208-b7aa-02556f7841c5 + (do not change this comment) */