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: C++ PATHC: PR5571




--On Friday, April 12, 2002 04:39:40 PM -0400 Richard Kenner 
<kenner@vlsi1.ultra.nyu.edu> wrote:

>     2. Later, we complete the type.  Then, we reset the RTL for the MEM to
>        reflect the new DECL_MODE.  We accomplish this by calling make_rtl
>        again for the DECL, which triggers this code:
>
>       /* If the old RTL had the wrong mode, fix the mode.  */
>       if (GET_MODE (DECL_RTL (decl)) != DECL_MODE (decl))
> 	SET_DECL_RTL (decl, adjust_address_nv (DECL_RTL (decl),
> 					       DECL_MODE (decl), 0));
>
>        Unfortunately, that doesn't update MEM_ALIGN.
>
> But look at the code in expand_expr case VAR_DECL!

Actually, even assuming that I can figure out how to get that code to
fire, there's still a problem.

Either it's OK to call make_decl_rtl twice for the same DECL, and we
need to update the alignment, or it's not, and there should be an
abort there rather than an a call to adjust_address_1.  Right?

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com


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