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: Bug fix in `tree.c': build_range_type


According to Jeffrey A Law:
>
> Can you say memory corruption :(  If you've got an x86 linux box you
> can probably set a hardware watchpoint on the memory location which
> holds TYPE_SIZE_UNIT for the node in question to find out where it's
> getting clobbered. [...]

I investigated this, and it does not seem to be the problem.

When I replace the patch with `if (TYPE_SIZE_UNIT (itype)) abort ();'
it does not trigger.

Hmm ... and setting TYPE_SIZE_UNIT (itype) to NULL_TREE instead of
copying that of type does not solve the problem any more either.
It seems as if I was wrong in my previous mail where I stated that
it would.  :-(

I suspect that there are places in the backend that depend on
TYPE_SIZE_UNIT being nonzero.  I know of at least one such case:
size_in_bytes() calls incomplete_type_error() if TYPE_SIZE_UNIT
is NULL_TREE.

The problem only occurs when compiling with `-g' and `-O3' or above.

> It is possible you subscribed, but were then unsubscribed because messages
> to your address were bouncing.
> 
> I recommend you re-subscribe.

I will do so.  Thanks for clearing this up.

    Peter


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