]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
* NEWS: Update.
authorTom Tromey <tromey@redhat.com>
Mon, 12 Nov 2012 17:41:59 +0000 (17:41 +0000)
committerTom Tromey <tromey@redhat.com>
Mon, 12 Nov 2012 17:41:59 +0000 (17:41 +0000)
commit18a9fc1261b8a654fe6db7eea7e60b0c59296d96
tree50b1290ab9827f259ea103cf50367d7ac6c0e878
parentbd69fc683f383772bb8fab43c5d4af8d0cd4a8b4
* NEWS: Update.
* data-directory/Makefile.in (PYTHON_FILES): Add
type_printers.py.
* python/lib/gdb/command/type_printers.py: New file.
* python/lib/gdb/command/types.py (TypePrinter): New class.
(_get_some_type_recognizers, get_type_recognizers,
apply_type_recognizers, register_type_printer): New
functions.
* python/py-objfile.c (objfile_object) <type_printers>: New
field.
(objfpy_dealloc): Decref new field.
(objfpy_new): Set new field.
(objfpy_get_type_printers, objfpy_set_type_printers): New
functions.
(objfile_to_objfile_object): Set new field.
(objfile_getset): Add "type_printers".
* python/py-progspace.c (pspace_object) <type_printers>: New
field.
(pspy_dealloc): Decref new field.
(pspy_new): Set new field.
(pspy_get_type_printers, pspy_set_type_printers): New functions.
(pspace_to_pspace_object): Set new field.
(pspace_getset): Add "type_printers".
* python/python.c (start_type_printers, apply_type_printers,
free_type_printers): New functions.
(_initialize_python): Set gdb.type_printers.
* python/python.h (start_type_printers, apply_type_printers,
free_type_printers): Declare.
* typeprint.c (type_print_raw_options, default_ptype_flags):
Update for new fields.
(do_free_global_table, create_global_typedef_table,
find_global_typedef): New functions.
(find_typedef_in_hash): Use find_global_typedef.
(whatis_exp): Use create_global_typedef_table.  Change cleanup
handling.
* typeprint.h (struct type_print_options) <global_typedefs,
global_printers>: New fields.
doc
* gdb.texinfo (Symbols): Document "info type-printers",
"enable type-printer" and "disable type-printer".
(Python API): Add new node to menu.
(Type Printing API): New node.
(Progspaces In Python): Document type_printers field.
(Objfiles In Python): Likewise.
(gdb.types) <get_type_recognizers, apply_type_recognizers,
register_type_printer, TypePrinter>: Document.
testsuite
* gdb.base/completion.exp: Update for "info type-printers".
* gdb.python/py-typeprint.cc: New file.
* gdb.python/py-typeprint.exp: New file.
* gdb.python/py-typeprint.py: New file.
19 files changed:
gdb/ChangeLog
gdb/NEWS
gdb/data-directory/Makefile.in
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/python/lib/gdb/__init__.py
gdb/python/lib/gdb/command/type_printers.py [new file with mode: 0644]
gdb/python/lib/gdb/types.py
gdb/python/py-objfile.c
gdb/python/py-progspace.c
gdb/python/python.c
gdb/python/python.h
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/completion.exp
gdb/testsuite/gdb.python/py-typeprint.cc [new file with mode: 0644]
gdb/testsuite/gdb.python/py-typeprint.exp [new file with mode: 0644]
gdb/testsuite/gdb.python/py-typeprint.py [new file with mode: 0644]
gdb/typeprint.c
gdb/typeprint.h