projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a wrapper macro for ir_nodehashmap_get(), which has the return type as additional...
[libfirm]
/
ir
/
adt
/
xmalloc.c
diff --git
a/ir/adt/xmalloc.c
b/ir/adt/xmalloc.c
index
68d74aa
..
47ee427
100644
(file)
--- a/
ir/adt/xmalloc.c
+++ b/
ir/adt/xmalloc.c
@@
-21,7
+21,6
@@
* @file
* @brief implementation of xmalloc & friends
* @author Markus Armbruster
* @file
* @brief implementation of xmalloc & friends
* @author Markus Armbruster
- * @version $Id$
*/
/* @@@ ToDo: replace this file with the one from liberty.
*/
/* @@@ ToDo: replace this file with the one from liberty.
@@
-29,6
+28,7
@@
#include "config.h"
#include <string.h>
#include "config.h"
#include <string.h>
+#include <stdio.h>
#include <stdlib.h>
#include "xmalloc.h"
#include <stdlib.h>
#include "xmalloc.h"
@@
-36,28
+36,30
@@
static NORETURN xnomem(void)
{
static NORETURN xnomem(void)
{
- panic("out of memory");
+ /* Do not use panic() here, because it might try to allocate memory! */
+ fputs("out of memory", stderr);
+ abort();
}
void *xmalloc(size_t size)
{
}
void *xmalloc(size_t size)
{
- void *res = malloc(size);
+
void *res = malloc(size);
- if (!res) xnomem();
- return res;
+
if (!res) xnomem();
+
return res;
}
void *xrealloc(void *ptr, size_t size)
{
}
void *xrealloc(void *ptr, size_t size)
{
- /* ANSI blesses realloc (0, x) but SunOS chokes on it */
- void *res = ptr ? realloc (ptr, size) : malloc (size);
+
/* ANSI blesses realloc (0, x) but SunOS chokes on it */
+
void *res = ptr ? realloc (ptr, size) : malloc (size);
- if (!res) xnomem();
- return res;
+
if (!res) xnomem();
+
return res;
}
char *xstrdup(const char *str)
{
}
char *xstrdup(const char *str)
{
- size_t len = strlen (str) + 1;
-
return memcpy((xmalloc)
(len), str, len);
+
size_t len = strlen (str) + 1;
+
return (char*) memcpy(xmalloc
(len), str, len);
}
}