libFirm
|
Macros | |
#define | XMALLOCN(type, n) ((type*)xmalloc(sizeof(type) * (n))) |
Allocate n objects of a certain type. More... | |
#define | XMALLOCNZ(type, n) ((type*)memset(xmalloc(sizeof(type) * (n)), 0, sizeof(type) * (n))) |
Allocate n objects of a certain type and zero them. More... | |
#define | XMALLOC(type) XMALLOCN(type, 1) |
Allocate one object of a certain type. More... | |
#define | XMALLOCZ(type) XMALLOCNZ(type, 1) |
Allocate one object of a certain type and zero it. More... | |
#define | XREALLOC(ptr, type, n) ((type*)xrealloc(ptr, sizeof(type) * (n))) |
Reallocate n objects of a certain type. More... | |
#define | XMALLOCF(type, member, n) ((type*)xmalloc(offsetof(type, member) + sizeof(*((type*)0)->member) * (n))) |
Allocate an object with n elements of a flexible array member. More... | |
#define | XMALLOCFZ(type, member, n) ((type*)memset(XMALLOCF(type, member, (n)), 0, offsetof(type, member) + sizeof(*((type*)0)->member) * (n))) |
Allocate an object with n elements of a flexible array member and zero the whole object. More... | |
#define | ALLOCAN(type, n) ((type*)alloca(sizeof(type) * (n))) |
Allocate n objects of a certain type on the stack. More... | |
#define | ALLOCANZ(type, n) ((type*)memset((type*)alloca(sizeof(type) * (n)), 0, sizeof(type) * (n))) |
Allocate n objects of a certain type on the stack and zero them. More... | |
#define | ALLOCAF(type, member, n) ((type*)alloca(offsetof(type, member) + sizeof(*((type*)0)->member) * (n))) |
Allocate an object with n elements of a flexible array member on the stack. More... | |
#define | OALLOCN(obst, type, n) ((type*)obstack_alloc((obst), sizeof(type) * (n))) |
Allocate n objects of a certain type on the given obstack. More... | |
#define | OALLOCNZ(obst, type, n) ((type*)memset(OALLOCN((obst), type, (n)), 0, sizeof(type) * (n))) |
Allocate n objects of a certain type on the given obstack and zero them. More... | |
#define | OALLOC(obst, type) OALLOCN(obst, type, 1) |
Allocate one object of a certain type on the given obstack. More... | |
#define | OALLOCZ(obst, type) OALLOCNZ(obst, type, 1) |
Allocate one object of a certain type on the given obstack and zero it. More... | |
#define | OALLOCF(obst, type, member, n) ((type*)obstack_alloc((obst), offsetof(type, member) + sizeof(*((type*)0)->member) * (n))) |
Allocate an object with n elements of a flexible array member on the given obstack. More... | |
#define | OALLOCFZ(obst, type, member, n) ((type*)memset(OALLOCF((obst), type, member, (n)), 0, offsetof(type, member) + sizeof(*((type*)0)->member) * (n))) |
Allocate an object with n elements of a flexible array member on the given obstack and zero the whole object. More... | |
Functions | |
void * | xmalloc (size_t size) |
Allocate size bytes on the heap. More... | |
void * | xrealloc (void *ptr, size_t size) |
Chane size of a previously allocated memory block to size bytes. More... | |
char * | xstrdup (const char *str) |
Allocates memory and copies string str into it. More... | |
#define ALLOCAF | ( | type, | |
member, | |||
n | |||
) | ((type*)alloca(offsetof(type, member) + sizeof(*((type*)0)->member) * (n))) |
#define ALLOCAN | ( | type, | |
n | |||
) | ((type*)alloca(sizeof(type) * (n))) |
Allocate n objects of a certain type on the stack.
Definition at line 97 of file xmalloc.h.
Referenced by new_rd_Builtin(), new_rd_Call(), and new_rd_Return().
#define ALLOCANZ | ( | type, | |
n | |||
) | ((type*)memset((type*)alloca(sizeof(type) * (n)), 0, sizeof(type) * (n))) |
#define OALLOC | ( | obst, | |
type | |||
) | OALLOCN(obst, type, 1) |
#define OALLOCF | ( | obst, | |
type, | |||
member, | |||
n | |||
) | ((type*)obstack_alloc((obst), offsetof(type, member) + sizeof(*((type*)0)->member) * (n))) |
#define OALLOCFZ | ( | obst, | |
type, | |||
member, | |||
n | |||
) | ((type*)memset(OALLOCF((obst), type, member, (n)), 0, offsetof(type, member) + sizeof(*((type*)0)->member) * (n))) |
#define OALLOCN | ( | obst, | |
type, | |||
n | |||
) | ((type*)obstack_alloc((obst), sizeof(type) * (n))) |
#define OALLOCNZ | ( | obst, | |
type, | |||
n | |||
) | ((type*)memset(OALLOCN((obst), type, (n)), 0, sizeof(type) * (n))) |
#define OALLOCZ | ( | obst, | |
type | |||
) | OALLOCNZ(obst, type, 1) |
#define XMALLOC | ( | type | ) | XMALLOCN(type, 1) |
#define XMALLOCF | ( | type, | |
member, | |||
n | |||
) | ((type*)xmalloc(offsetof(type, member) + sizeof(*((type*)0)->member) * (n))) |
#define XMALLOCFZ | ( | type, | |
member, | |||
n | |||
) | ((type*)memset(XMALLOCF(type, member, (n)), 0, offsetof(type, member) + sizeof(*((type*)0)->member) * (n))) |
#define XMALLOCN | ( | type, | |
n | |||
) | ((type*)xmalloc(sizeof(type) * (n))) |
#define XMALLOCNZ | ( | type, | |
n | |||
) | ((type*)memset(xmalloc(sizeof(type) * (n)), 0, sizeof(type) * (n))) |
#define XMALLOCZ | ( | type | ) | XMALLOCNZ(type, 1) |
#define XREALLOC | ( | ptr, | |
type, | |||
n | |||
) | ((type*)xrealloc(ptr, sizeof(type) * (n))) |
void* xmalloc | ( | size_t | size | ) |
Allocate size
bytes on the heap.
This is a wrapper for malloc which calls panic() in case of errors, so no error handling is required for code using it.
void* xrealloc | ( | void * | ptr, |
size_t | size | ||
) |
Chane size of a previously allocated memory block to size
bytes.
This is a wrapper for realloc which calls panic() in case of errors, so no error handling is required for code using it.
char* xstrdup | ( | const char * | str | ) |
Allocates memory and copies string str
into it.
This is a wrapper for strdup which calls panic() in case of errors, so no error handling is required for code using it.