binutils-gdb/gdb/python
Tom Tromey 1acda8039b Add Python support for dynamic types
This changes the gdb Python API to add support for dynamic types.  In
particular, this adds an attribute to gdb.Type, and updates some
attributes to reflect dynamic sizes and field offsets.

There's still no way to get the dynamic type from one of its concrete
instances.  This could perhaps be added if needed.

gdb/ChangeLog
2020-04-24  Tom Tromey  <tromey@adacore.com>

	PR python/23662:
	* python/py-type.c (convert_field): Handle
	FIELD_LOC_KIND_DWARF_BLOCK.
	(typy_get_sizeof): Handle TYPE_HAS_DYNAMIC_LENGTH.
	(typy_get_dynamic): Nw function.
	(type_object_getset): Add "dynamic".
	* NEWS: Add entry.

gdb/doc/ChangeLog
2020-04-24  Tom Tromey  <tromey@adacore.com>

	PR python/23662:
	* python.texi (Types In Python): Document new features.

gdb/testsuite/ChangeLog
2020-04-24  Tom Tromey  <tromey@adacore.com>

	PR python/23662:
	* gdb.ada/variant.exp: Add Python checks.
	* gdb.rust/simple.exp: Add dynamic type checks.
2020-04-24 13:40:33 -06:00
..
lib/gdb [gdb/cli] Don't let python colorize strip leading newlines 2020-04-10 09:29:52 +02:00
py-all-events.def Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-arch.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-auto-load.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-block.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-bpevent.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-breakpoint.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-cmd.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-continueevent.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-event-types.def Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-event.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-event.h Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-events.h Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-evtregistry.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-evts.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-exitedevent.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-finishbreakpoint.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-frame.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-framefilter.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-function.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-gdb-readline.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-inferior.c Change get_objfile_arch to a method on objfile 2020-04-18 08:35:04 -06:00
py-infevents.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-infthread.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-instruction.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-instruction.h Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-lazy-string.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-linetable.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-newobjfileevent.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-objfile.c Change get_objfile_arch to a method on objfile 2020-04-18 08:35:04 -06:00
py-param.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-prettyprint.c Change extension language pretty-printers to use value API 2020-03-13 18:03:42 -06:00
py-progspace.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-record-btrace.c Fix some spelling errors. 2020-01-16 16:46:25 -06:00
py-record-btrace.h Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-record-full.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-record-full.h Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-record.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-record.h Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-ref.h Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-signalevent.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-stopevent.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-stopevent.h Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-symbol.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-symtab.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-threadevent.c Multi-target support 2020-01-10 20:06:08 +00:00
py-tui.c Mark move constructors as "noexcept" 2020-04-20 11:45:06 -06:00
py-type.c Add Python support for dynamic types 2020-04-24 13:40:33 -06:00
py-unwind.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-utils.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-value.c Change extension language pretty-printers to use value API 2020-03-13 18:03:42 -06:00
py-varobj.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
py-xmethods.c Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00
python-config.py
python-internal.h Change extension language pretty-printers to use value API 2020-03-13 18:03:42 -06:00
python.c Mark move constructors as "noexcept" 2020-04-20 11:45:06 -06:00
python.h Update copyright year range in all GDB files. 2020-01-01 10:20:53 +04:00