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 (Was: Re: Ada config for x86_64-linux)


    >> | 3.4 20031114 (experimental) (x86_64-suse-linux-gnu) GCC error:     
    >> | in convert_move, at expr.c:613

I believe the fix for this is below. 

Zack, do you agree?

(Once this is fixed, there's a precision vs. size issue in Ada's utils.c that
also has to be fixed.)

*** expr.c	13 Nov 2003 09:48:28 -0000	1.599
--- expr.c	14 Nov 2003 16:23:59 -0000
*************** convert_move (rtx to, rtx from, int unsi
*** 606,612 ****
        convert_optab tab;
  
!       if (GET_MODE_BITSIZE (from_mode) < GET_MODE_BITSIZE (to_mode))
  	tab = sext_optab;
!       else if (GET_MODE_BITSIZE (from_mode) > GET_MODE_BITSIZE (to_mode))
  	tab = trunc_optab;
        else
--- 606,612 ----
        convert_optab tab;
  
!       if (GET_MODE_PRECISION (from_mode) < GET_MODE_PRECISION (to_mode))
  	tab = sext_optab;
!       else if (GET_MODE_PRECISION (from_mode) > GET_MODE_PRECISION (to_mode))
  	tab = trunc_optab;
        else


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