gdb/fortran: support ptype and print commands for namelist variables
authorBhuvanendra Kumar N <Bhuvanendra.KumarN@amd.com>
Wed, 2 Feb 2022 17:52:27 +0000 (17:52 +0000)
committerAndrew Burgess <aburgess@redhat.com>
Fri, 11 Feb 2022 15:26:25 +0000 (15:26 +0000)
commite951225303b7d0565c985e2d562d3787983ff06f
treebb924f8f2e8cccb6afb95c0446ff42aa91a2f3e1
parent9ab50efc463ff723b8e9102f1f68a6983d320517
gdb/fortran: support ptype and print commands for namelist variables

Gfortran supports namelists (a Fortran feature); it emits
DW_TAG_namelist and DW_TAG_namelist_item dies. But gdb does not
process these dies and does not support 'print' or 'ptype' commands on
namelist variables.

An attempt to print namelist variables results in gdb bailing out with
the error message as shown below.

  (gdb) print nml
  No symbol "nml" in current context.

This commit is to make the print and ptype commands work for namelist
variables and its items. Sample output of these commands is shared
below, with fixed gdb.

  (gdb) ptype nml
  type = Type nml
      integer(kind=4) :: a
      integer(kind=4) :: b
  End Type nml
  (gdb) print nml
  $1 = ( a = 10, b = 20 )
gdb/dwarf2/read.c
gdb/f-typeprint.c
gdb/f-valprint.c
gdb/gdbtypes.h
gdb/testsuite/gdb.fortran/namelist.exp [new file with mode: 0644]
gdb/testsuite/gdb.fortran/namelist.f90 [new file with mode: 0644]
include/dwarf2.def