source: git/omalloc/omAllocDecl.h @ fb104b

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