Ian Lance Taylor ha scritto:
Angelo Graziosi <[EMAIL PROTECTED]> writes:
Ian Lance Taylor wrote:
It's valid, but it's not the right patch. The right patch is to use
XNEW and XCNEW from include/libiberty.h.
Gabriel Dos Reis in [1] wrote:
The idiom is to use XCNEWVAR(T) for xcalloc(1, sizeof(T)),
XNEWVAR(T) for xmalloc(sizeof(T)),...
Gulp! I am a little confused... XNEW or XNEWVAR, etc.?
It is confusing.
--- gcc-4.4-20080704.orig/gcc/ggc-page.c 2008-06-29 06:39:16.000000000 +0200
+++ gcc-4.4-20080704/gcc/ggc-page.c 2008-07-05 12:00:20.906250000 +0200
@@ -799,7 +799,7 @@
alloc_size = GGC_QUIRE_SIZE * G.pagesize;
else
alloc_size = entry_size + G.pagesize - 1;
- allocation = xmalloc (alloc_size);
+ allocation = XNEWVAR(char, alloc_size);
Actually, I think this should be XNEWVEC (char, alloc_size), though
the effect is similar when the type is char.
@@ -842,7 +842,7 @@
struct page_entry *e, *f = G.free_pages;
for (a = enda - G.pagesize; a != page; a -= G.pagesize)
{
- e = xcalloc (1, page_entry_size);
+ e = XCNEWVAR(struct page_entry, page_entry_size);
Here XCNEWVAR is correct. There should be a space before the left
parenthesis.
Ian
--- gcc-4.4-20080704.orig/gcc/ggc-page.c 2008-06-29 06:39:16.000000000 +0200
+++ gcc-4.4-20080704/gcc/ggc-page.c 2008-07-05 12:00:20.906250000 +0200
@@ -799,7 +799,7 @@
alloc_size = GGC_QUIRE_SIZE * G.pagesize;
else
alloc_size = entry_size + G.pagesize - 1;
- allocation = xmalloc (alloc_size);
+ allocation = XNEWVEC (char, alloc_size);
page = (char *) (((size_t) allocation + G.pagesize - 1) &
-G.pagesize);
head_slop = page - allocation;
@@ -842,7 +842,7 @@
struct page_entry *e, *f = G.free_pages;
for (a = enda - G.pagesize; a != page; a -= G.pagesize)
{
- e = xcalloc (1, page_entry_size);
+ e = XCNEWVAR (struct page_entry, page_entry_size);
e->order = order;
e->bytes = G.pagesize;
e->page = a;
Angelo