![]() |
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.