]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
gdb: Make printing enum types prettier.
authorDaniel Knezevic <daniel.knezevic@htecgroup.com>
Wed, 26 Nov 2025 11:23:25 +0000 (12:23 +0100)
committerDaniel Knezevic <daniel.knezevic@htecgroup.com>
Fri, 9 Jan 2026 12:44:18 +0000 (13:44 +0100)
commitbe90f3e2afa841a7e32e4118a6b9104182c6e05b
treea30f623460d1edad84e01135ed69f3d1e0ab7164
parent1f0af2a49539a08f08dbfdc0051743f293091d9a
gdb: Make printing enum types prettier.

Update printing of enum types to follow the same formatting
conventions as for structs resulting in more readable output.
Now that horizontal space is less of an issue enum values are
always printed.
Empty enums are now printed with an added "<no enum values>"
message.

Example of printing an enum with default values:
enum class TestEnum {A, B, C, D};

(gdb) ptype TestEnum
type = enum class TestEnum : int {
    TestEnum::A = 0,
    TestEnum::B = 1,
    TestEnum::C = 2,
    TestEnum::D = 3
}

Example of printing an empty enum:
enum class TestEnum {};

(gdb) ptype TestEnum
type = enum class TestEnum : int {
    <no enum values>
}

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=19294
Approved-By: Tom Tromey <tom@tromey.com>
12 files changed:
gdb/c-typeprint.c
gdb/testsuite/gdb.base/call-sc.exp
gdb/testsuite/gdb.base/ctf-ptype.exp
gdb/testsuite/gdb.base/ptype.exp
gdb/testsuite/gdb.base/whatis-ptype-typedefs.exp
gdb/testsuite/gdb.cp/classes.exp
gdb/testsuite/gdb.cp/empty-enum.exp
gdb/testsuite/gdb.cp/enum-class.exp
gdb/testsuite/gdb.cp/nested-types.exp
gdb/testsuite/gdb.dwarf2/enum-type.exp
gdb/testsuite/gdb.xml/tdesc-regs.exp
gdb/testsuite/lib/cp-support.exp