2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
10 /* sgi's don't let you undef NULL */
17 # include "forwardTypes.h"
20 # define sfree(x) do { if (x != NULL) free(x); } while (FALSE)
22 extern void sfree (/*@out@*/ /*@only@*/ /*@null@*/ void *p_x) /*@modifies p_x@*/;
29 extern /*@out@*/ /*@only@*/ void *dimalloc (size_t p_size, const char *p_name, int p_line);
30 extern /*@only@*/ void *dicalloc (size_t p_num, size_t p_size, const char *p_name, int p_line);
31 extern /*@notnull@*/ /*@out@*/ /*@only@*/ void *
32 direalloc (/*@returned@*/ /*@only@*/ /*@out@*/ /*@null@*/ void *p_x,
33 size_t p_size, char *p_name, int p_line);
35 extern /*@only@*/ void *
36 drealloc (/*@special@*/ /*@null@*/ /*@sef@*/ void *p_x,
37 /*@sef@*/ size_t p_size)
41 extern /*@out@*/ /*@only@*/ void *dmalloc (/*@sef@*/ size_t p_size) /*@*/ ;
44 # define dmalloc(s) (malloc(s))
45 # define drealloc(s,l) (realloc(s,l))
47 # define dmalloc(s) (dimalloc(s, __FILE__, __LINE__))
48 # define drealloc(s,l) (direalloc(s, l, __FILE__, __LINE__))
51 # include "system_constants.h"
56 # define free(s) ; /* nothing */
65 ** no file except general.c should use primitive
74 # define malloc(s) (dimalloc(s, __FILE__, __LINE__))
75 # define calloc(n, s) (dicalloc(n, s, __FILE__, __LINE__))
76 # define realloc(v, s) (direalloc(v, s, __FILE__, __LINE__))
84 extern void sfreeEventually (/*@owned@*/ /*@null@*/ void *p_x)
85 /*@modifies internalState@*/;
87 typedef /*@dependent@*/ char *d_char;
89 /*@constant int NOT_FOUND;@*/
90 # define NOT_FOUND (-23)
93 # error "Multiple include"