Bug 24527 - derived types not displayed correctly with gdb
Summary: derived types not displayed correctly with gdb
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: fortran (show other bugs)
Version: 4.1.0
: P2 normal
Target Milestone: ---
Assignee: Steven Bosscher
URL:
Keywords: wrong-debug
Depends on:
Blocks: 24546
  Show dependency treegraph
 
Reported: 2005-10-25 19:58 UTC by Thomas Koenig
Modified: 2006-10-14 15:15 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2006-10-14 14:47:24


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Koenig 2005-10-25 19:58:00 UTC
This may be a gdb bug, but anyway...

 cat type.f90
program main
  type foo
    real :: a
    integer :: b
  end type foo
  type(foo) :: q
  q = foo(3.14, 42)
  print *,q
end program main
$ gfortran -g type.f90
$ gdb ./a.out
GNU gdb 6.3-debian
Copyright 2004 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 "i386-linux"...Using host libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) b type.f90:7
Breakpoint 1 at 0x8048624: file type.f90, line 7.
(gdb) r
Starting program: /home/ig25/Krempel/Gdb/a.out

Breakpoint 1, MAIN__ () at type.f90:7
7         q = foo(3.14, 42)
Current language:  auto; currently fortran
(gdb) p q
$1 = Invalid F77 type code 3 in symbol table.
(gdb) q
The program is running.  Exit anyway? (y or n) y
Comment 1 Andrew Pinski 2005-10-27 23:24:43 UTC
Confirmed.  This is a gdb bug as if I do:
"set lang c"
it works.

Oh, I think there is a dup around somewhere too.
Comment 2 Wu Zhou 2005-10-28 04:39:10 UTC
Yes. I agree that it is more like a gdb bug.  But I would rather say that it is an enhancement request for gdb, because GDB never says that it supports complete Fortran-95 syntax.  The support for Fortrn 77 is also not deemed as complete.  

I coded a patch in gdb for that.  The link is http://sourceware.org/ml/gdb-patches/2005-10/msg00208.html
Comment 3 Steven Bosscher 2006-10-14 14:47:24 UTC
The patch in http://sourceware.org/ml/gdb-patches/2005-11/msg00217.html implements this quite nicely AFAICT.  I'll try and take care of the rest.
Comment 4 Steven Bosscher 2006-10-14 15:15:56 UTC
This works with the patch I mentioned in comment #3.  That patch is in the GDB source tree since 2006-02-24, so this is "fixed" in GDB 6.5.  On the GCC side we seem to do the right thing for scalar components.  For array components obviously we don't but there is a separate bug about that.

So I'm calling this FIXED.