Andrew Haley wrote:
Tom Tromey writes:
> I was under the impression that CHAR_TYPE was deprecated, so I
> purposely avoided it in gcjx. I'm not sure where I got that
> impression though.
I can't remember the context either, but I agree with your memory. I
think it was discussed a little while ago: the idea was entirely to
eliminate CHAR_TYPE from the compiler, and that FEs were doing so.
I don't recall the discussion. I probably didn't realize it was
relevant to debugger issues at the time. I don't see anything in the
source code that says CHAR_TYPE is deprecated.
I see that Nathan posted a patch last December to try to remove some
CHAR_TYPE support.
http://gcc.gnu.org/ml/gcc-patches/2004-12/msg00689.html
If people want to do this, it seems reasonable. However, we are losing
info potentially valuable to the debugger, because the debugger should
be printing character types differently than integer types.
Particularly in languages, unlike C, that have character types distinct
from the integer types. It would be nice if this info could be retained
somehow.
A possible way to solve this problem is to add a single-bit flag to
INTEGER_TYPE nodes that indicates whether this is actually a character
type. Then dwarf2out.c could just check the flag to determine what
debug info to emit. It looks like we have a number of flag bits that
aren't being used in type nodes. This is much better than trying to do
string matches against type names to determine what is a character type.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com