[M3devel] m3gdb broken

Jay K jay.krell at cornell.edu
Sat Apr 2 05:24:02 CEST 2011

The question is, can they be well represented within gcc's usual trees/types/debug-info
for good experience in stock gdb.
Enums for example -- yes, I had them working.

Subranges -- what should the experience be?
For example, when I use debuggers, I use expression evaluation involving assignment
to set values. Should the debugger catch attempts to assign out of range values?
Or are subranges just integers with a certain number of bits and that is it and that suffices?
I understand the runtime does more precise checks than just bit-width.

sets -- I can see this being....are they just an integer or an array of integers?
Or higher level? I can see this being poor...unless unless.. gcc maybe already
had good support for Pascal? Maybe Ada has a similar feature?
Ada does actually look like Modula-3 to a large extent!

Consider also that on Darwin, none of this stuff works at all.
So even sets as integers or arrays of integers would be much better than current.

One has to read some of the gcc documentation, browse tree.h, tree.def, etc.,
learn what is well representable.

One shouldn't just completely ignore the significant infrastructure and just
tunnel all the information through in a custom way that stock gdb is completely ignorant of.

 - Jay

> To: jay.krell at cornell.edu
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] m3gdb broken 
> Date: Fri, 1 Apr 2011 19:42:33 -0700
> From: mika at async.caltech.edu
> Jay K writes:
> ...
> >But that "custom information" is largely just basic type information=2C tha=
> >t any decent
> >C compiler/debug-info/debugger can handle.
> >Someone should investigate if we really pass stuff through that can't be we=
> >ll represented
> >in gcc's type information.
> >For example: sub ranges? sets? enums? packed?
> Subranges, sets, and enums certainly used to be shown in a "friendly" way
> by m3gdb.
>     Mika
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20110402/7e1a19b0/attachment-0002.html>

More information about the M3devel mailing list