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) /*@*/
42 /*:ensures MaxSet(result) == (p_size - 1):*/ ;
45 # define dmalloc(s) (malloc(s))
46 # define drealloc(s,l) (realloc(s,l))
48 # define dmalloc(s) (dimalloc(s, __FILE__, __LINE__))
49 # define drealloc(s,l) (direalloc(s, l, __FILE__, __LINE__))
52 # include "system_constants.h"
57 # define free(s) ; /* nothing */
66 ** no file except general.c should use primitive
75 # define malloc(s) (dimalloc(s, __FILE__, __LINE__))
76 # define calloc(n, s) (dicalloc(n, s, __FILE__, __LINE__))
77 # define realloc(v, s) (direalloc(v, s, __FILE__, __LINE__))
85 extern void sfreeEventually (/*@owned@*/ /*@null@*/ void *p_x)
86 /*@modifies internalState@*/;
88 typedef /*@dependent@*/ char *d_char;
90 /*@constant int NOT_FOUND;@*/
91 # define NOT_FOUND (-23)
94 # error "Multiple include"