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: Ada is still broken on AMD64 and IA64


kenner@vlsi1.ultra.nyu.edu (Richard Kenner) writes:

>     But now I get:
>
>     | 3.4 20031114 (experimental) (x86_64-suse-linux-gnu) Gigi abort, Code=414
>
>     Any ideas here?
>
> I mentioned that in my message, the change to ada/utils.c to clean up
> precision vs. bitsize stuff:

I've tested the patch below and the one for expr.c on x86_64-linux-gnu
with C and ada as only languages and this one problem seems to be
solved but now the next waits as usual :-(

../../xgcc -B../../ -c -g -O2      -W -Wall -gnatpg  a-llftio.ads -o a-llftio.o
virtual memory exhausted: Cannot allocate memory
make[2]: *** [a-llftio.o] Error 1

It used 10 GB of main memory for this :-(

Andreas

>
> *** utils.c	3 Nov 2003 23:56:44 -0000	1.48.2.22
> --- utils.c	14 Nov 2003 17:19:16 -0000
> *************** static tree compute_related_constant (tr
> *** 149,153 ****
>   static tree split_plus (tree, tree *);
>   static int value_zerop (tree);
> ! static tree float_type_for_size (int, enum machine_mode);
>   static tree convert_to_fat_pointer (tree, tree);
>   static tree convert_to_thin_pointer (tree, tree);
> --- 149,153 ----
>   static tree split_plus (tree, tree *);
>   static int value_zerop (tree);
> ! static tree float_type_for_precision (int, enum machine_mode);
>   static tree convert_to_fat_pointer (tree, tree);
>   static tree convert_to_thin_pointer (tree, tree);
> *************** gnat_type_for_size (unsigned precision, 
> *** 1993,1997 ****
>   
>   static tree
> ! float_type_for_size (int precision, enum machine_mode mode)
>   {
>     tree t;
> --- 1993,1997 ----
>   
>   static tree
> ! float_type_for_precision (int precision, enum machine_mode mode)
>   {
>     tree t;
> *************** gnat_type_for_mode (enum machine_mode mo
> *** 2024,2028 ****
>   {
>     if (GET_MODE_CLASS (mode) == MODE_FLOAT)
> !     return float_type_for_size (GET_MODE_BITSIZE (mode), mode);
>     else
>       return gnat_type_for_size (GET_MODE_BITSIZE (mode), unsignedp);
> --- 2024,2028 ----
>   {
>     if (GET_MODE_CLASS (mode) == MODE_FLOAT)
> !     return float_type_for_precision (GET_MODE_PRECISION (mode), mode);
>     else
>       return gnat_type_for_size (GET_MODE_BITSIZE (mode), unsignedp);
>
>

Andreas
-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SuSE Linux AG, Deutschherrnstr. 15-19, 90429 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

Attachment: pgp00000.pgp
Description: PGP signature


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