This is using gpc version 19990118, based on gcc-2.8.1, on a sun. I am wondering why for a type definition "1..10" get 2 type numbers (39 and 40) defined in the stabs file.
When I run gpc -g -S demo.pas on this file ------------------------------------------------------------------------ program demo(input, output) ; type small = 1 .. 10 ; var a : small ; begin a := 2 ; end . ------------------------------------------------------------------------ demo.s contains this definition of Small: .stabs "Small:t(0,39)=(0,40)=r(0,1);1;10;",128,0,3,0
Why the spurous (0,40) defintion? Why not .stabs "Small:t(0,39)=r(0,1);1;10;",128,0,3,0
Can anyone shed some light on this please? It seems to be causing gdb (as well as me) some confusion.
Thanks. Richard
Richard Sharman wrote:
This is using gpc version 19990118, based on gcc-2.8.1, on a sun. I am wondering why for a type definition "1..10" get 2 type numbers (39 and 40) defined in the stabs file.
This may be due to "1..10" being represented by an INTEGER_TYPE tree node that has another INTEGER_TYPE tree node (the type this is a subrange of) as its TREE_TYPE.
Why the spurous (0,40) defintion? Why not .stabs "Small:t(0,39)=r(0,1);1;10;",128,0,3,0
Unfortunately we are not really familiar with stabs etc., and debugging support in GPC needs some work. If you can help, be welcome!
Peter