This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


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

Re: 5.1 NEWS


Eli Zaretskii <eliz@is.elta.co.il> writes:

> On Mon, 9 Jul 2001, Daniel Berlin wrote:
> 
>> If I read in a news file that a debugger now had "Fortran Support",
>> I'd expect it to be at the same level as all the other languages,
>> whether it's new or not.
> 
> Clear and concise bug reports might help solve whatever problems you
> see.
Thanks for the hint. Again.
I'll be filing them, as soon as I can get gpc to compile again to
produce test cases (obviously, the case sensitivity one i'll file in
the morning before i work on making gpc compile again.)

However, you speak of it as if these were a few isolated problems.
They weren't.
You get hit with them attempting to debug any pascal program, right
from the get go (this is a pascal program i had compiled last time i
tried this):

(%:/buildspace/gpc-20010623/p/test)- gdb ./index
GNU gdb 2001-07-05-cvs (MI_OUT)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "powerpc-unknown-linux-gnu"...
(gdb) l
36      <implicit code>: No such file or directory.
        in <implicit code>

>>>>what?
(gdb) l main
40 in  <implicit code>

>>>>What?

(gdb) info func

File index.pas:
procedure Foo;
procedure fini_pascal_main_program;
procedure init_pascal_main_program;
function  main(Integer, ^Cstring, ^Cstring) : Integer;
procedure pascal_main_program;
static procedure Bar;

Non-debugging symbols:
$00000618  Letext
(gdb) ptype kinds
No symbol "KINDS" in current context.

>>Lies
(gdb) ptype scanres
No symbol "SCANRES" in current context.
>>Lies
(gdb) info types
All defined types:

File index.pas:
type  complex float =  complex float;
type  complex int =  complex int;
type  complex long double =  complex long double;
type Bindingtype = Bindingtype;
type Boolean = Boolean;
type Bytebool = Bytebool;
type Bytecard = Bytecard;
type Byteint = Byteint;
type Cardinal = Cardinal;
type Char = Char;
type Complex = Complex;
type Cstring = Cstring;
type Integer = Integer;
type Kinds =   = (Ident, Number, Op, Endfile);
type Longestbool = Longestbool;
type Longestcard = Longestcard;
type Longestint = Longestint;
type Longestreal = Longestreal;
type Medbool = Medbool;
type Medcard = Medcard;
type Medint = Medint;
type Pointer = Pointer;
type Ptrcard = Ptrcard;
type Ptrint = Ptrint;
type Real = Real;
type Scanres = record
        Symbol : Symb;
        Kind : Kinds;
end;
type Shortbool = Shortbool;
type Shortcard = Shortcard;
type Shortreal = Shortreal;
type Smallint = Smallint;
type String = String;
type Text = <unknown type>;
type Timestamp = Timestamp;
type Void = Void;
type Wordbool = Wordbool;
(gdb) ptype String
type = record
    Capacity : Cardinal;
    length : Cardinal;
    _p_schema_ : <invalid unnamed pascal type code 13>;
end
(gdb) ptype Scanres
type = record
     Symbol : Sym;
     Kind : Kinds;
end;
>>> Oh, i had to magically force readin of all the types through info
>>> types before i can use any. Whee. And string is broken. Whee.

Don't even try to think about actually *running* the program or printing out
variables.
Or casting.
For starters, we should list what the parser does, as known problems:
(from p-exp.y, at the top)
    - pascal string operations are not supported at all.
    - there are some problems with boolean types.
    - Pascal type hexadecimal constants are not supported
      because they conflict with the internal variables format.
   Probably also lots of other problems, less well defined PM */
These are *serious* limitations.
Not namby pamby little problems.
Not that I think that it shouldn't be in gdb yet, or that Pierre isn't
doing a good job so far. But it's pretty clear it's still experimental.
And as evidenced, Pierre knows about at least some of these problems,
too, if not all of them.  And
"Probably also lots of other problems, less well defined" doesn't
give me a good feeling about it being in good shape yet either.
So once again, I urge you to simply not put "Pascal support" in the
news.
It's a work in progress, and not up to the level of support we have
for other languages.

I'm also curious as to why I have to go to great lengths to prove
this. It's pretty clear to anyone who looks at the tops of the source
files, or tries to debug a simple pascal program.  Heck, i'm sure
Pierre would happily tell you all of these bugs are there too, if
someone asked him. It doesn't seem he's completely unaware their are
problems.

I'm sure Pierre will get it into good shape sometime, but unless he 
has a bunch of patches he hasn't submitted, i'd have to assume this
won't be 5.1. 
--Dan






-- 
"Doing a little work around the house.  I put fake brick
wallpaper over a real brick wall, just so I'd be the only one
who knew.  People come over and I'm gonna say, "Go ahead, touch
it...  It feels real."
"-Steven Wright


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