This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: c/838: sparc-solaris2.7 extra testsuite failures when RTL checking
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Subject: Re: c/838: sparc-solaris2.7 extra testsuite failures when RTL checking
- From: Graham Stott <grahams at redhat dot com>
- Date: Wed, 22 Nov 2000 14:01:19 +0000
- CC: law at redhat dot com, gcc-patches at gcc dot gnu dot org
- References: <10011220159.AA11877@vlsi1.ultra.nyu.edu>
Richard
Richard Kenner wrote:
>
> > DECL_NONADDRESSABLE_P (field)
> > ! ? (GET_CODE (to_rtx) == REG ? 0 : MEM_AL
> > IAS_SET (to_rtx))
> > : get_alias_set (TREE_TYPE (field)));
> I would write it as
>
> (GET_CODE (to_rtx) == MEM ? MEM_ALIAS_SET (to_rtx) : 0)
>
> Slightly simpler is just to change the original condition to
>
> DECL_NONADDRESSABLE_P (field) && GET_CODE (to_rtx) == MEM
>
This looks OK to me. We will then use the alias set of the fields type if the
field it not addressable or not a MEM.
Jeff do you prefer this over the original patch.
> and leave the rest alone.
>
> But how is this coming up? I thought DECL_NONADDRESSABLE_P is never set
> in C? (Note that the change is still needed, but this needs to be understood).
It is set for bitfields which are indeed not addressable in C (i.e. one cannot
take the address of a bitfield).
Graham