This is the mail archive of the
mailing list for the GCC project.
Re: [LTO][PATCH] Fix ICE in output_tree.
On Tue, Nov 18, 2008 at 12:00, Doug Kwan (éæå) <email@example.com> wrote:
> Yes, I have another sandbox with a back-patching based fix but it is
> not done. The problem, as I have mentioned earlier, is that we are
> not registering trees, but rather pointer to trees. So for any fields
> b->f = input_tree (...);
> we have to check that if b->f is a global VAR_DECL or FUNC_DECL and
> then stash &(b->f) away for later fixing up. Since the original code
> in lto-function-in.c is not set up for back-patching, a change like
> this could be very extensive and error-prone.
Oh, yes, good point. I have planned to overhaul the streamer as soon
as we get to a more stable state. I will just try to incorporate this
in the new design. No point making extensive changes now.
>> I prefer if we access the fields using the the DECL_* macros.
>> I've been meaning to change this in the streamer for a while now,
>> so I'd rather not generate new instances of this. We won't need
>> explicit call to *_CHECK in that case.
> Some field can be changed to access but not all. There are fields in
> based types that are overloaded with only accessors in derived types.
> For example, there is no accessor for type.minval. I can change the
> rest though.
TYPE_MIN_VALUE accesses type.minval, but there will be others that may
have accessors outside of tree.h. It's OK to access those separately.