Ada is still broken on AMD64 and IA64

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Fri Nov 14 17:22:00 GMT 2003


    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:

*** 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);



More information about the Gcc-patches mailing list