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: [PATCH] Fix PR middle-end/17793


> I'd expect that original to be first transformed to:
>
>       NOP_EXPR <pointer_type <record_type>>
> 	ADDR_EXPR <pointer_type <integer_type1>>
>           NOP_EXPR <integer_type1>
>             ARRAY_REF <integer_type2>

It is.

> Then we'd go back and process the ADDR_EXPR again and do the same
> thing (if valid, meaning if the size isn't changing or it is and the
> endianness is right).  But you don't need to look inside the
> VIEW_CONVERT_EXPR to do that.

May I ask you to re-read http://gcc.gnu.org/ml/gcc/2004-10/msg00651.html?  
There is explained why doing so results in an ICE

> Moreover, you don't need the two NOP_EXPRs in the result: one is enough.

Probably.  But I'm under the impression stripping unneeded NOP_EXPRs is not 
the business of gimplify_addr_expr.

-- 
Eric Botcazou


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