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: gcc moving memory reference across call


>
> It's a field in the class$ structure.  class$ is initialized by creating a
> CONSTRUCTOR tree and calling CONSTRUCTOR_APPEND_ELT for each field.  The
> DECL_INITIAL of class$ points to the CONSTRUCTOR tree.
>
> _CD_pp is an array of void*.  These are initialized by DECL_INITIAL too.
>
> InitClass is passed class$$ (not class$) and that has a DECL_INITIAL
> that points to class$.  As far as I can tell all the types are correct.
>

If class$$ has an initial of &class$ which has an initial (in it
somewhere) of CD_ppp it should definitely be noticing.
It used to walk these all and get it right, AFAIK, by disqualifying
all variables with their addresses taken (or escaping the function
unit).
Maybe the walking broke when we moved to tuples or something?


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