This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: (new) Failure building GFortran (Cygwin)


Angelo Graziosi <angelo.graziosi@alice.it> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]