libFirm
|
never failing wrappers for malloc() & friends. More...
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include "../begin.h"
#include "../end.h"
Go to the source code of this file.
Macros | |
#define | xfree(ptr) free(ptr) |
Another name for the free function. | |
#define | XMALLOCN(type, n) ((type*)xmalloc(sizeof(type) * (n))) |
Allocate n objects of a certain type. | |
#define | XMALLOCNZ(type, n) ((type*)memset(xmalloc(sizeof(type) * (n)), 0, sizeof(type) * (n))) |
Allocate n objects of a certain type and zero them. | |
#define | XMALLOC(type) XMALLOCN(type, 1) |
Allocate one object of a certain type. | |
#define | XMALLOCZ(type) XMALLOCNZ(type, 1) |
Allocate one object of a certain type and zero it. | |
#define | XREALLOC(ptr, type, n) ((type*)xrealloc(ptr, sizeof(type) * (n))) |
Reallocate n objects of a certain type. | |
#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. | |
#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. | |
#define | ALLOCAN(type, n) ((type*)alloca(sizeof(type) * (n))) |
Allocate n objects of a certain type on the stack. | |
#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. | |
#define | OALLOCN(obst, type, n) ((type*)obstack_alloc((obst), sizeof(type) * (n))) |
Allocate n objects of a certain type on the given obstack. | |
#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. | |
#define | OALLOC(obst, type) OALLOCN(obst, type, 1) |
Allocate one object of a certain type on the given obstack. | |
#define | OALLOCZ(obst, type) OALLOCNZ(obst, type, 1) |
Allocate one object of a certain type on the given obstack and zero it. | |
#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 obstck. | |
#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. |
Functions | |
void * | xmalloc (size_t size) |
Allocate size bytes on the heap. | |
void * | xrealloc (void *ptr, size_t size) |
Chane size of a previously allocated memory block to size bytes. | |
char * | xstrdup (const char *str) |
Allocates memory and copies string str into it. |
never failing wrappers for malloc() & friends.
Definition in file xmalloc.h.