source: git/omalloc/omAllocDecl.h @ 8fe650

spielwiese
Last change on this file since 8fe650 was 8fe650, checked in by Hans Schönemann <hannes@…>, 18 years ago
*hannes: 64bit port, part 1 git-svn-id: file:///usr/local/Singular/svn/trunk@9082 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 24.2 KB
Line 
1/*******************************************************************
2 *  File:    omAllocDecl.h
3 *  Purpose: declaration of Alloc routines
4 *  Author:  obachman (Olaf Bachmann)
5 *  Created: 11/99
6 *  Version: $Id: omAllocDecl.h,v 1.9 2006-05-02 11:38:43 Singular Exp $
7 *******************************************************************/
8#ifndef OM_ALLOC_DECL_H
9#define OM_ALLOC_DECL_H
10
11#ifdef OM_NDEBUG
12#if (SIZEOF_LONG == 8)
13#define OM_T_FREE1
14#define OM_T_FREE3
15#define OM_T_STR
16#define OM_T_ALLOC
17#define OM_T_REALLOC
18#endif
19#endif
20
21
22#if !defined(OMALLOC_C) && !defined(OM_NO_MALLOC_MACROS)
23#define calloc      omcalloc
24#define malloc      omalloc
25#define free        omfree
26#define realloc     omrealloc
27#define freeSize    omfreeSize
28#define reallocSize omreallocSize
29#endif
30
31#if (!defined(OM_EMULATE_OMALLOC) && !defined(OM_NDEBUG) && (defined(OM_CHECK) || (defined(OM_HAVE_TRACK) && defined(OM_TRACK)))) || defined(OM_T1)
32
33/*******************************************************************
34 *
35 * Alloc/Free/Check for Debug
36 *
37 *******************************************************************/
38#ifndef OM_CHECK
39#define OM_CHECK    0
40#endif
41#ifndef OM_TRACK
42#define OM_TRACK    0
43#endif
44
45#if OM_KEEP > 0
46#define _OM_FKEEP OM_FKEEP
47#else
48#define _OM_FKEEP 0
49#endif
50
51#if !defined(OM_T_ALLOC)
52#define omTypeAllocBin(type,addr,bin)           addr=(type)_omDebugAlloc(bin,OM_FBIN|_OM_FKEEP,OM_CTFL)
53#define omTypeAlloc0Bin(type,addr,bin)          addr=(type)_omDebugAlloc(bin,OM_FBIN|OM_FZERO|_OM_FKEEP,OM_CTFL)
54#define omAllocBin(bin)                         _omDebugAlloc(bin,OM_FBIN|_OM_FKEEP,OM_CTFL)
55#define omAlloc0Bin(bin)                        _omDebugAlloc(bin,OM_FBIN|OM_FZERO|_OM_FKEEP,OM_CTFL)
56
57#define omTypeAlloc(type,addr,size)             addr=(type)_omDebugAlloc((void*)(size),OM_FSIZE|_OM_FKEEP,OM_CTFL)
58#define omTypeAlloc0(type,addr,size)            addr=(type)_omDebugAlloc((void*)(size),OM_FSIZE|OM_FZERO|_OM_FKEEP,OM_CTFL)
59#define omAlloc(size)                           _omDebugAlloc((void*)(size),OM_FSIZE|_OM_FKEEP,OM_CTFL)
60#define omAlloc0(size)                          _omDebugAlloc((void*)(size),OM_FSIZE|OM_FZERO|_OM_FKEEP,OM_CTFL)
61
62#define omalloc(size)   _omDebugAlloc((void*)(size),OM_FSIZE|OM_FSLOPPY|OM_FALIGN|_OM_FKEEP,OM_CTFL)
63#define omalloc0(size)  _omDebugAlloc((void*)(size),OM_FSIZE|OM_FZERO|OM_FSLOPPY|OM_FALIGN|_OM_FKEEP,OM_CTFL)
64#define omcalloc(n,size)_omDebugAlloc((void*) ((size)*n),OM_FSIZE|OM_FZERO|OM_FSLOPPY|OM_FALIGN|_OM_FKEEP,OM_CTFL)
65
66#else
67#define omTypeAllocBin(type,addr,bin)           __omTypeAllocBin(type,addr,bin)
68#define omTypeAlloc0Bin(type,addr,bin)          __omTypeAlloc0Bin(type,addr,bin)
69#define omAllocBin(bin)                         _omAllocBin(bin)
70#define omAlloc0Bin(bin)                        _omAlloc0Bin(bin)
71
72#define omTypeAlloc(type,addr,size)             __omTypeAlloc(type,addr,size)
73#define omTypeAlloc0(type,addr,size)            __omTypeAlloc0(type,addr,size)
74#define omAlloc(size)                           _omAlloc(size)
75#define omAlloc0(size)                          _omAlloc0(size)
76
77#define omalloc(size)   _omalloc(size)
78#define omalloc0(size)  _omalloc0(size)
79#define omcalloc(n,size)_omalloc0(n*size)
80
81#endif
82
83#if !defined(OM_T_REALLOC)
84#define omTypeReallocBin(o_addr,o_bin,type,addr,bin)            addr=(type)_omDebugRealloc(o_addr,o_bin,bin,OM_FBIN|_OM_FKEEP,OM_FBIN|_OM_FKEEP,OM_CTFL)
85#define omTypeRealloc0Bin(o_addr,o_bin,type,addr,bin)           addr=(type)_omDebugRealloc(o_addr,o_bin,bin,OM_FBIN|_OM_FKEEP,OM_FBIN|OM_FZERO|_OM_FKEEP,OM_CTFL)
86#define omReallocBin(o_addr,o_bin,bin)                          _omDebugRealloc(o_addr,o_bin,bin,OM_FBIN|_OM_FKEEP,OM_FBIN|_OM_FKEEP,OM_CTFL)
87#define omRealloc0Bin(o_addr,o_bin,bin)                         _omDebugRealloc(o_addr,o_bin,bin,OM_FBIN|_OM_FKEEP,OM_FBIN|OM_FZERO|_OM_FKEEP,OM_CTFL)
88
89#define omTypeReallocSize(o_addr,o_size,type,addr,size)         addr=(type)_omDebugRealloc(o_addr,(void*)(o_size),(void*)(size),OM_FSIZE|_OM_FKEEP,OM_FSIZE|_OM_FKEEP,OM_CTFL)
90#define omTypeRealloc0Size(o_addr,o_size,type,addr,size)        addr=(type)_omDebugRealloc(o_addr,(void*)(o_size),(void*)(size),OM_FSIZE|_OM_FKEEP,OM_FSIZE|OM_FZERO|_OM_FKEEP,OM_CTFL)
91#define omReallocSize(addr,o_size,size)                         _omDebugRealloc(addr,(void*)(o_size),(void*)(size),OM_FSIZE|_OM_FKEEP,OM_FSIZE|_OM_FKEEP,OM_CTFL)
92#define omRealloc0Size(addr,o_size,size)                        _omDebugRealloc(addr,(void*)(o_size),(void*)(size),OM_FSIZE|_OM_FKEEP,OM_FSIZE|OM_FZERO|_OM_FKEEP,OM_CTFL)
93
94#define omTypeRealloc(o_addr,type,addr,size)                    addr=(type)_omDebugRealloc(o_addr,NULL,(void*)(size),_OM_FKEEP,OM_FSIZE|_OM_FKEEP,OM_CTFL)
95#define omTypeRealloc0(o_addr,type,addr,size)                   addr=(type)_omDebugRealloc(o_addr,NULL,(void*)(size),_OM_FKEEP,OM_FSIZE|OM_FZERO|_OM_FKEEP,OM_CTFL)
96#define omRealloc(addr,size)                                    _omDebugRealloc(addr,NULL,(void*)(size),_OM_FKEEP,OM_FSIZE,OM_CTFL)
97#define omRealloc0(addr,size)                                   _omDebugRealloc(addr,NULL,(void*)(size),_OM_FKEEP,OM_FSIZE|OM_FZERO,OM_CTFL)
98
99#define omreallocSize(addr,o_size,size) _omDebugRealloc(addr,(void*)(o_size),(void*)(size),OM_FSIZE|OM_FSLOPPY|_OM_FKEEP,OM_FSIZE|OM_FSLOPPY|OM_FALIGN|_OM_FKEEP,OM_CTFL)
100#define omrealloc0Size(addr,o_size,size)_omDebugRealloc(addr,(void*)(o_size),(void*)(size),OM_FSIZE|OM_FSLOPPY|_OM_FKEEP,OM_FSIZE|OM_FZERO|OM_FSLOPPY|OM_FALIGN|_OM_FKEEP,OM_CTFL)
101#define omrealloc(addr,size)            _omDebugRealloc(addr,NULL,(void*)(size),OM_FSLOPPY|_OM_FKEEP,OM_FSIZE|OM_FSLOPPY|OM_FALIGN|_OM_FKEEP,OM_CTFL)
102#define omrealloc0(addr,size)           _omDebugRealloc(addr,NULL,(void*)(size),OM_FSLOPPY|_OM_FKEEP,OM_FSIZE|OM_FZERO|OM_FSLOPPY|OM_FALIGN|_OM_FKEEP,OM_CTFL)
103
104#else
105#define omTypeReallocBin(o_addr,o_bin,type,addr,bin)            __omTypeReallocBin(o_addr,o_bin,type,addr,bin)
106#define omTypeRealloc0Bin(o_addr,o_bin,type,addr,bin)           __omTypeRealloc0Bin(o_addr,o_bin,type,addr,bin)
107#define omReallocBin(o_addr,o_bin,bin)                          _omReallocBin(o_addr,o_bin,bin)
108#define omRealloc0Bin(o_addr,o_bin,bin)                         _omRealloc0Bin(o_addr,o_bin,bin)
109
110#define omTypeReallocSize(o_addr,o_size,type,addr,size)         __omTypeReallocSize(o_addr,o_size,type,addr,size)
111#define omTypeRealloc0Size(o_addr,o_size,type,addr,size)        __omTypeRealloc0Size(o_addr,o_size,type,addr,size)
112#define omReallocSize(addr,o_size,size)                         _omReallocSize(addr,o_size,size)
113#define omRealloc0Size(addr,o_size,size)                        _omRealloc0Size(addr,o_size,size)
114
115#define omTypeRealloc(o_addr,type,addr,size)                    __omTypeRealloc(o_addr,type,addr,size)
116#define omTypeRealloc0(o_addr,type,addr,size)                   __omTypeRealloc0(o_addr,type,addr,size)
117#define omRealloc(addr,size)                                    _omRealloc(addr,size)
118#define omRealloc0(addr,size)                                   _omRealloc0(addr,size)
119
120#define omreallocSize(addr,o_size,size) _omreallocSize(addr,o_size,size)
121#define omrealloc0Size(addr,o_size,size)_omrealloc0Size(addr,o_size,size)
122#define omrealloc(addr,size)            _omrealloc(addr, size)
123#define omrealloc0(addr,size)           _omrealloc0(addr, size)
124
125#endif
126
127#if !defined(OM_T_FREE1)
128#define omFreeBinAddr(addr)     _omDebugFree(addr,NULL,OM_FBINADDR|_OM_FKEEP,OM_CFL)
129#define omFreeBin(addr,bin)     _omDebugFree(addr,bin,OM_FBIN|_OM_FKEEP,OM_CFL)
130#else
131#define omFreeBinAddr(addr)     __omFreeBinAddr(addr)
132#define omFreeBin(addr,bin)     __omFreeBinAddr(addr)
133#endif
134
135#if !defined(OM_T_FREE2)
136#define omFreeSize(addr,size)   _omDebugFree(addr,(void*)(size),OM_FSIZE|_OM_FKEEP,OM_CFL)
137#define omfreeSize(addr,size)   _omDebugFree(addr,(void*)(size),OM_FSIZE|OM_FSLOPPY|_OM_FKEEP,OM_CFL)
138#else
139#define omFreeSize(addr,size)   __omFreeSize(addr,size)
140#define omfreeSize(addr,size)   do {if (addr && size) omFreeSize(addr, size);} while (0)
141#endif
142
143#if !defined(OM_T_FREE3)
144#define omFree(addr)            _omDebugFree(addr,0,0,OM_CFL)
145#define omfree(addr)            _omDebugFree(addr,NULL,OM_FSLOPPY|_OM_FKEEP,OM_CFL)
146#else
147#define omFree(addr)            __omFree(addr)
148#define omfree(addr)            do {if (addr) omFree(addr);} while (0)
149#endif
150
151#if !defined(OM_T_STR)
152#define omStrDup(s)                             _omDebugStrDup(s,OM_TFL)
153#define omMemDup(addr)                          _omDebugMemDup(addr,_OM_FKEEP,OM_CTFL)
154#else
155#define omStrDup(s)         _omStrDup(s)
156#define omMemDup(s)         _omMemDup(s)
157#endif
158
159#define omDebugBinAddr(addr)                 _omDebugAddr(addr,NULL,OM_FBINADDR,OM_CFL)
160#define omDebugAddrBin(addr, bin)            _omDebugAddr(addr,bin,OM_FBIN,OM_CFL)
161#define omDebugBinAddrSize(addr, size)       _omDebugAddr(addr,(void*)(size),OM_FBINADDR|OM_FSIZE,OM_CFL)
162#define omDebugAddrSize(addr,size)           _omDebugAddr(addr,(void*)(size),OM_FSIZE,OM_CFL)
163#define omDebugAddr(addr)                    _omDebugAddr(addr,NULL, 0, OM_CFL)
164#define omdebugAddrSize(addr,size)           _omDebugAddr(addr,(void*)(size),OM_FSIZE|OM_FSLOPPY,OM_CFL)
165#define omdebugAddr(addr)                    _omDebugAddr(addr,NULL, OM_FSLOPPY, OM_CFL)
166#define omDebugBin(bin)                      _omDebugBin(bin,OM_CFL)
167#define omDebugMemory()                      _omDebugMemory(OM_CFL)
168#define omDebugIf(cond, statement)           do { if (cond) {statement;}} while (0)
169
170#if OM_CHECK > 0
171#define omCheckBinAddr      omDebugBinAddr
172#define omCheckAddrBin      omDebugAddrBin
173#define omCheckBinAddrSize  omDebugBinAddrSize
174#define omCheckAddrSize     omDebugAddrSize
175#define omCheckAddr         omDebugAddr
176#define omcheckAddrSize     omdebugAddrSize
177#define omcheckAddr         omdebugAddr
178#define omCheckBin          omDebugBin
179#define omCheckMemory       omDebugMemory
180#define omCheckIf           omDebugIf
181#endif /* OM_CHECK > 0 */
182
183
184#ifdef OM_ALIGNMENT_NEEDS_WORK
185
186#define omTypeAllocAligned(type,addr,size)             addr=(type)_omDebugAlloc((void*)(size),OM_FSIZE|OM_FALIGN|_OM_FKEEP,OM_CTFL)
187#define omTypeAlloc0Aligned(type,addr,size)            addr=(type)_omDebugAlloc((void*)(size),OM_FSIZE|OM_FZERO|OM_FALIGN|_OM_FKEEP,OM_CTFL)
188#define omAllocAligned(size)                           _omDebugAlloc((void*)(size),OM_FSIZE|OM_FALIGN|_OM_FKEEP,OM_CTFL)
189#define omAlloc0Aligned(size)                          _omDebugAlloc((void*)(size),OM_FSIZE|OM_FZERO|OM_FALIGN|_OM_FKEEP,OM_CTFL)
190
191#define omTypeReallocAlignedSize(o_addr,o_size,type,addr,size)         addr=(type)_omDebugRealloc(o_addr,(void*)(o_size),(void*)(size),OM_FSIZE|_OM_FKEEP,OM_FSIZE|OM_FALIGN|_OM_FKEEP,OM_CTFL)
192#define omTypeRealloc0AlignedSize(o_addr,o_size,type,addr,size)        addr=(type)_omDebugRealloc(o_addr,(void*)(o_size),(void*)(size),OM_FSIZE|_OM_FKEEP,OM_FSIZE|OM_FZERO|OM_FALIGN|_OM_FKEEP,OM_CTFL)
193#define omReallocAlignedSize(addr,o_size,size)                         _omDebugRealloc(addr,(void*)(o_size),(void*)(size),OM_FSIZE|_OM_FKEEP,OM_FSIZE|OM_FALIGN|_OM_FKEEP,OM_CTFL)
194#define omRealloc0AlignedSize(addr,o_size,size)                        _omDebugRealloc(addr,(void*)(o_size),(void*)(size),OM_FSIZE|_OM_FKEEP,OM_FSIZE|OM_FZERO|OM_FALIGN|_OM_FKEEP,OM_CTFL)
195
196#define omTypeReallocAligned(o_addr,type,addr,size)                    addr=(type)_omDebugRealloc(o_addr,NULL,(void*)(size),_OM_FKEEP,OM_FSIZE|OM_FALIGN|_OM_FKEEP,OM_CTFL)
197#define omTypeRealloc0Aligned(o_addr,type,addr,size)                   addr=(type)_omDebugRealloc(o_addr,NULL,(void*)(size),_OM_FKEEP,OM_FSIZE|OM_FZERO|OM_FALIGN|_OM_FKEEP,OM_CTFL)
198#define omReallocAligned(addr,size)                                    _omDebugRealloc(addr,NULL,(void*)(size),0,OM_FSIZE|OM_FALIGN|_OM_FKEEP,OM_CTFL)
199#define omRealloc0Aligned(addr,size)                                   _omDebugRealloc(addr,NULL,(void*)(size),0,OM_FSIZE|OM_FZERO|OM_FALIGN|_OM_FKEEP,OM_CTFL)
200
201#define omMemDupAligned(addr)                       _omDebugMemDup(addr,OM_FALIGN|_OM_FKEEP,OM_CTFL)
202
203#define omDebugBinAddrAligned(addr)                 _omDebugAddr(addr,NULL,OM_FBINADDR|OM_FALIGN,OM_CFL)
204#define omDebugAddrAlignedBin(addr, bin)            _omDebugAddr(addr,bin,OM_FBIN|OM_FALIGN,OM_CFL)
205#define omDebugAddrAlignedSize(addr,size)           _omDebugAddr(addr,(void*)(size),OM_FSIZE|OM_FALIGN,OM_CFL)
206#define omDebugAddrAligned(addr)                    _omDebugAddr(addr,NULL, OM_FALIGN, OM_CFL)
207#define omdebugAddrAlignedSize(addr,size)           _omDebugAddr(addr,(void*)(size),OM_FSIZE|OM_FSLOPPY|OM_FALIGN,OM_CFL)
208#define omdebugAddrAligned(addr)                    _omDebugAddr(addr,NULL, OM_FSLOPPY|OM_FALIGN, OM_CFL)
209
210#if OM_CHECK > 0
211#define omCheckBinAddrAligned    omDebugBinAddrAligned
212#define omCheckAddrAlignedBin    omDebugAddrAlignedBin
213#define omCheckAddrAlignedSize   omDebugAddrAlignedSize
214#define omCheckAddrAligned       omDebugAddrAligned
215#define omcheckAddrAlignedSize   omdebugAddrAlignedSize
216#define omcheckAddrAligned       omdebugAddrAligned
217#endif
218#endif /* OM_ALIGNMENT_NEEDS_WORK */
219
220#elif !defined(OM_EMULATE_OMALLOC)
221/*******************************************************************
222 *
223 * Alloc/Free -- the real thing
224 *
225 *******************************************************************/
226#define omTypeAllocBin(type,addr,bin)           __omTypeAllocBin(type,addr,bin)
227#define omTypeAlloc0Bin(type,addr,bin)          __omTypeAlloc0Bin(type,addr,bin)
228#define omAllocBin(bin)                         _omAllocBin(bin)
229#define omAlloc0Bin(bin)                        _omAlloc0Bin(bin)
230
231#define omTypeAlloc(type,addr,size)             __omTypeAlloc(type,addr,size)
232#define omTypeAlloc0(type,addr,size)            __omTypeAlloc0(type,addr,size)
233#define omAlloc(size)                           _omAlloc(size)
234#define omAlloc0(size)                          _omAlloc0(size)
235
236#define omTypeReallocBin(o_addr,o_bin,type,addr,bin)            __omTypeReallocBin(o_addr,o_bin,type,addr,bin)
237#define omTypeRealloc0Bin(o_addr,o_bin,type,addr,bin)           __omTypeRealloc0Bin(o_addr,o_bin,type,addr,bin)
238#define omReallocBin(o_addr,o_bin,bin)                          _omReallocBin(o_addr,o_bin,bin)
239#define omRealloc0Bin(o_addr,o_bin,bin)                         _omRealloc0Bin(o_addr,o_bin,bin)
240
241#define omTypeReallocSize(o_addr,o_size,type,addr,size)         __omTypeReallocSize(o_addr,o_size,type,addr,size)
242#define omTypeRealloc0Size(o_addr,o_size,type,addr,size)        __omTypeRealloc0Size(o_addr,o_size,type,addr,size)
243#define omReallocSize(addr,o_size,size)                         _omReallocSize(addr,o_size,size)
244#define omRealloc0Size(addr,o_size,size)                        _omRealloc0Size(addr,o_size,size)
245
246#define omTypeRealloc(o_addr,type,addr,size)                    __omTypeRealloc(o_addr,type,addr,size)
247#define omTypeRealloc0(o_addr,type,addr,size)                   __omTypeRealloc0(o_addr,type,addr,size)
248#define omRealloc(addr,size)                                    _omRealloc(addr,size)
249#define omRealloc0(addr,size)                                   _omRealloc0(addr,size)
250
251#define omalloc(size)   _omalloc(size)
252#define omalloc0(size)  _omalloc0(size)
253#define omcalloc(n,size)_omalloc0(n*size)
254
255#define omreallocSize(addr,o_size,size) _omreallocSize(addr,o_size,size)
256#define omrealloc0Size(addr,o_size,size)_omrealloc0Size(addr,o_size,size)
257#define omrealloc(addr,size)            _omrealloc(addr, size)
258#define omrealloc0(addr,size)           _omrealloc0(addr, size)
259
260#define omfreeSize(addr,size)   do {if (addr && size) omFreeSize(addr, size);} while (0)
261#define omfree(addr)            do {if (addr) omFree(addr);} while (0)
262
263#ifdef OM_ALIGNMENT_NEEDS_WORK
264#define omTypeAllocAligned(type,addr,size)      __omTypeAllocAligned(type,addr,size)
265#define omTypeAlloc0Aligned(type,addr,size)     __omTypeAlloc0Aligned(type,addr,size)
266#define omAllocAligned(size)                    _omAllocAligned(size)
267#define omAlloc0Aligned(size)                   _omAlloc0Aligned(size)
268
269#define omTypeReallocAlignedSize(o_addr,o_size,type,addr,size)  __omTypeReallocAlignedSize(o_addr,o_size,type,addr,size)
270#define omTypeRealloc0AlignedSize(o_addr,o_size,type,addr,size) __omTypeRealloc0AlignedSize(o_addr,o_size,type,addr,size)
271#define omReallocAlignedSize(addr,o_size,size)                  _omReallocAlignedSize(addr,o_size,size)
272#define omRealloc0AlignedSize(addr,o_size,size)                 _omRealloc0AlignedSize(addr,o_size,size)
273
274#define omTypeReallocAligned(o_addr,type,addr,size)             __omTypeReallocAligned(o_addr,type,addr,size)
275#define omTypeRealloc0Aligned(o_addr,type,addr,size)            __omTypeRealloc0Aligned(o_addr,type,addr,size)
276#define omReallocAligned(addr,size)                             _omReallocAligned(addr,size)
277#define omRealloc0Aligned(addr,size)                            _omRealloc0Aligned(addr,size)
278
279#define omMemDupAligned(addr)                                   _omMemDupAligned(addr)
280#endif  /* OM_ALIGNMENT_NEEDS_WORK */
281
282#define omFreeBinAddr(addr)     __omFreeBinAddr(addr)
283#define omFreeBin(addr,bin)     __omFreeBinAddr(addr)
284#define omFreeSize(addr,size)   __omFreeSize(addr,size)
285#define omFree(addr)            __omFree(addr)
286
287#define omStrDup(s)         _omStrDup(s)
288#define omMemDup(s)         _omMemDup(s)
289
290
291
292#else /* OM_EMULATE_OMALLOC */
293/*******************************************************************
294 *
295 * Emulation of omalloc's Alloc/Free interface
296 *
297 *******************************************************************/
298
299#include "omMalloc.h"
300
301extern void* omEmulateCalloc(size_t size);
302extern void* omEmulateRealloc0Size(void* o_addr, size_t o_size, size_t n_size);
303extern void* omEmulateRealloc0(void* o_addr, size_t n_size);
304
305#define omTypeAllocBin(type,addr,bin)           addr=(type) OM_MALLOC_MALLOC(bin->sizeW << LOG_SIZEOF_LONG)
306#define omTypeAlloc0Bin(type,addr,bin)          addr=(type) omEmulateAlloc0(bin->sizeW << LOG_SIZEOF_LONG)
307#define omAllocBin(bin)                         OM_MALLOC_MALLOC(bin->sizeW << LOG_SIZEOF_LONG)
308#define omAlloc0Bin(bin)                        omEmulateAlloc0(bin->sizeW << LOG_SIZEOF_LONG)
309
310#define omTypeAlloc(type,addr,size)             addr=(type) OM_MALLOC_MALLOC(size)
311#define omTypeAlloc0(type,addr,size)            addr=(type) omEmulateAlloc0(size)
312#define omAlloc(size)                           OM_MALLOC_MALLOC(size)
313#define omAlloc0(size)                          omEmulateAlloc0(size)
314
315#define omTypeReallocBin(o_addr,o_bin,type,addr,bin)            addr=(type)OM_MALLOC_REALLOC(o_addr,bin->sizeW << LOG_SIZEOF_LONG)
316#define omTypeRealloc0Bin(o_addr,o_bin,type,addr,bin)           addr=(type)omEmulateRealloc0Size(o_addr,o_bin->sizeW << LOG_SIZEOF_LONG,bin->sizeW << LOG_SIZEOF_LONG)
317#define omReallocBin(o_addr,o_bin,bin)                          OM_MALLOC_REALLOC(o_addr,bin->sizeW << LOG_SIZEOF_LONG)
318#define omRealloc0Bin(o_addr,o_bin,bin)                         omEmulateRealloc0Size(o_addr,o_bin->sizeW << LOG_SIZEOF_LONG,bin->sizeW << LOG_SIZEOF_LONG)
319
320#define omTypeReallocSize(o_addr,o_size,type,addr,size)         addr=(type)OM_MALLOC_REALLOC(o_addr,size)
321#define omTypeRealloc0Size(o_addr,o_size,type,addr,size)        addr=(type)omEmulateRealloc0Size(o_addr,o_size,size)
322#define omReallocSize(addr,o_size,size)                         OM_MALLOC_REALLOC(addr,size)
323#define omRealloc0Size(addr,o_size,size)                        omEmulateRealloc0Size(addr,o_size,size)
324
325#define omTypeRealloc(o_addr,type,addr,size)                    addr=(type)OM_MALLOC_REALLOC(o_addr,size)
326#define omTypeRealloc0(o_addr,type,addr,size)                   addr=(type)omEmulateRealloc0(o_addr,size)
327#define omRealloc(addr,size)                                    OM_MALLOC_REALLOC(addr,size)
328#define omRealloc0(addr,size)                                   omEmulateRealloc0(addr,size)
329
330#define omFreeBin(addr,bin)     OM_MALLOC_FREE(addr)
331#define omFreeSize(addr,size)   OM_MALLOC_FREE(addr)
332#define omFree(addr)            OM_MALLOC_FREE(addr)
333#endif /* ! debug && ! the real thing */
334
335
336/* define alignment stuff, if necessary */
337#if !defined(omTypeAllocAligned)
338#define omTypeAllocAligned      omTypeAlloc
339#define omTypeAlloc0Aligned     omTypeAlloc0
340#define omAllocAligned          omAlloc
341#define omAlloc0Aligned         omAlloc0
342
343#define omTypeReallocAlignedSize     omTypeReallocSize
344#define omTypeRealloc0AlignedSize    omTypeRealloc0Size
345#define omReallocAlignedSize         omReallocSize
346#define omRealloc0AlignedSize        omRealloc0Size
347
348#define omTypeReallocAligned         omTypeRealloc
349#define omTypeRealloc0Aligned        omTypeRealloc0
350#define omReallocAligned             omRealloc
351#define omRealloc0Aligned            omRealloc0
352
353#define omMemDupAligned     omMemDup
354#endif /* !defined(omTypeAllocAligned) */
355
356#if !defined(omDebugAddrAlignedBin)
357#define omDebugBinAddrAligned   omDebugBinAddr
358#define omDebugAddrAlignedBin   omDebugAddrBin
359#define omDebugAddrAlignedSize  omDebugAddrSize
360#define omDebugAddrAligned      omDebugAddr
361#define omdebugAddrAlignedSize  omdebugAddrSize
362#define omdebugAddrAligned      omdebugAddr
363#endif /* !defined(omDebugAddrAlignedBin) */
364
365#if !defined(omCheckAddrAlignedBin)
366#define omCheckBinAddrAligned   omCheckBinAddr
367#define omCheckAddrAlignedBin   omCheckAddrBin
368#define omCheckAddrAlignedSize  omCheckAddrSize
369#define omCheckAddrAligned      omCheckAddr
370#define omcheckAddrAlignedSize  omcheckAddrSize
371#define omcheckAddrAligned      omcheckAddr
372#endif /* !defined(omCheckAddrAlignedBin) */
373
374/* define debug stuff, if necessary */
375#if !defined(omDebugAddrBin)
376#define omDebugIf(cond, test)                    ((void) 0)
377#define omDebugBinAddr(addr)                     ((void) 0)
378#define omDebugAddrBin(addr,bin)                 ((void) 0)
379#define omDebugBinAddrSize(addr,size)            ((void) 0)
380#define omDebugAddrSize(addr,size)               ((void) 0)
381#define omDebugAddr(addr)                        ((void) 0)
382#define omdebugAddrSize(addr,size)               ((void) 0)
383#define omdebugAddr(addr)                        ((void) 0)
384#define omDebugBin(bin)                          ((void) 0)
385#define omDebugMemory()                          ((void) 0)
386#endif /* !defined(omDebugAddrBin) */
387
388/* define check stuff, if necessary */
389#if !defined(omCheckAddrBin)
390#define omCheckIf(cond, test)                    ((void) 0)
391#define omCheckBinAddr(addr)                     ((void) 0)
392#define omCheckAddrBin(addr,bin)                 ((void) 0)
393#define omCheckBinAddrSize(addr,size)            ((void) 0)
394#define omCheckAddrSize(addr,size)               ((void) 0)
395#define omCheckAddr(addr)                        ((void) 0)
396#define omcheckAddrSize(addr,size)               ((void) 0)
397#define omcheckAddr(addr)                        ((void) 0)
398#define omCheckBin(bin)                          ((void) 0)
399#define omCheckMemory()                          ((void) 0)
400#endif /* !defined(omCheckAddrBin) */
401
402
403
404#if !defined(OM_NDEBUG) && !defined(OM_EMULATE_MALLOC)
405omError_t omTestAddrBin(void* addr, omBin bin, int check_level);
406omError_t omTestBinAddr(void* addr, int check_level);
407omError_t omTestBinAddrSize(void* addr, size_t size, int check_level);
408omError_t omTestAddrSize(void* addr, size_t size, int check_level);
409omError_t omTestAddr(void* addr, int check_level);
410omError_t omtestAddrSize(void* addr, size_t size, int check_level);
411omError_t omtestAddr(void* addr, int check_level);
412omError_t omTestAddrAlignedBin(void* addr, omBin bin, int check_level);
413omError_t omTestAddrAlignedSize(void* addr, size_t size, int check_level);
414omError_t omTestAddrAligned(void* addr, int check_level);
415omError_t omtestAddrAlignedSize(void* addr, size_t size, int check_level);
416omError_t omtestAddrAligned(void* addr, int check_level);
417omError_t omTestBin(omBin bin, int check_level);
418omError_t omTestMemory(int check_level);
419#define omTestIf(cond, statement)           do { if (cond) {statement;}} while (0)
420
421#else
422
423#define omTestIf(cond, test)                      ((void) 0)
424#define omTestAddrBin(addr,bin,l)                 ((void) 0)
425#define omTestBinAddr(addr,l)                     ((void) 0)
426#define omTestBinAddrSize(addr,size,l)            ((void) 0)
427#define omTestAddrSize(addr,size,l)               ((void) 0)
428#define omTestAddr(addr,l)                        ((void) 0)
429#define omtestAddrSize(addr,size,l)               ((void) 0)
430#define omtestAddr(addr,l)                        ((void) 0)
431#define omTestAddrAlignedBin(addr,bin,l)                 ((void) 0)
432#define omTestAddrAlignedSize(addr,size,l)               ((void) 0)
433#define omTestAddrAligned(addr,l)                        ((void) 0)
434#define omtestAddrAlignedSize(addr,size,l)               ((void) 0)
435#define omtestAddrAligned(addr,l)                        ((void) 0)
436#define omTestBin(bin,l)                          ((void) 0)
437#define omTestMemory(l)                           ((void) 0)
438
439#endif
440
441#endif /* OM_ALLOC_DECL_H */
Note: See TracBrowser for help on using the repository browser.