This is the mail archive of the
mailing list for the GCC project.
Re: Bug fix in `tree.c': build_range_type
- To: law at cygnus dot com
- Subject: Re: Bug fix in `tree.c': build_range_type
- From: Peter Gerwinski <peter at gerwinski dot de>
- Date: Thu, 30 Jul 1998 00:30:15 +0200 (MEST)
- Cc: rth at cygnus dot com, egcs-patches at cygnus dot com
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
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.