This is the mail archive of the gcc@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: Question on gimplify.c:create_tmp_var


    I didn't check what they did with looking inside the chain, only that 
    they did look inside the chains.

But of course that's the question.

I looked again at the case where I ran into the VIEW_CONVERT_EXPR and it
wasn't even one of those cases, but instead an array case where one side was
constrained and the other wasn't.

Note that even though the route has "lhs" in its name, the case in question
is on the RHS (it's compiling line 358 of the Ada file a-chahan.adb).

I just don't see how it's possible to *not* keep VIEW_CONVERT_EXPR in the
reference chain.  If you don't, they have no choice but to make copies and
these are variable-sized arrays.  Even if we can somehow eliminate all the
cases where the compiler puts it there, it's also there from an explicit
Unchecked_Conversion instantiated by the user and we can't have a copy of
data their either (for one thing, the types may be "limited" and the
languages doesn't allow copying them).


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