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]

Re: c/838: sparc-solaris2.7 extra testsuite failures when RTL checking


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

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