Decode "dynamic" interface types in Ada
authorTom Tromey <tromey@adacore.com>
Thu, 17 Mar 2022 13:59:43 +0000 (07:59 -0600)
committerTom Tromey <tromey@adacore.com>
Wed, 30 Mar 2022 15:01:04 +0000 (09:01 -0600)
commitd537777dfe634f3109125156484e33d421b03f1b
treeaf32dfc41ff0651ce984de74a12a46af8d06ec0d
parent5321c31bc78379a33f07dc7bef9256d05b942ad7
Decode "dynamic" interface types in Ada

In Ada, if a class implements an interface and has a dynamic
superclass, then the "offset to top" -- the offset that says how to
turn a pointer to the interface into a pointer to the whole object --
is stored in the object itself.  This patch changes GDB to understand
this.

Because this only touches Ada code, and because Joel already reviewed
it internally, I am checking it in.
gdb/ada-lang.c
gdb/testsuite/gdb.ada/dynamic-iface.exp [new file with mode: 0644]
gdb/testsuite/gdb.ada/dynamic-iface/concrete.adb [new file with mode: 0644]
gdb/testsuite/gdb.ada/dynamic-iface/concrete.ads [new file with mode: 0644]
gdb/testsuite/gdb.ada/dynamic-iface/main.adb [new file with mode: 0644]