Make "ptype INTERNAL_FUNCTION" in Ada print like other languages
authorPedro Alves <pedro@palves.net>
Fri, 10 Feb 2023 11:55:00 +0000 (11:55 +0000)
committerPedro Alves <pedro@palves.net>
Wed, 15 Feb 2023 20:56:57 +0000 (20:56 +0000)
commit751495be92b2b319fb66ce4e12b562a0e27c15fe
tree8843cf39c64185b58304136748ef7dee1c614f19
parenta975d4e6bcf84d3676cbc47b1c9456cf4c3a32a6
Make "ptype INTERNAL_FUNCTION" in Ada print like other languages

Currently, printing the type of an internal function in Ada shows
double <>s, like:

 (gdb) with language ada -- ptype $_isvoid
 type = <<internal function>>

while all other languages print it with a single <>, like:

 (gdb) with language c -- ptype $_isvoid
 type = <internal function>

I don't think there's a reason that Ada needs to be different.  We
currently print the double <>s because we take this path in
ada_print_type:

    switch (type->code ())
      {
      default:
gdb_printf (stream, "<");
c_print_type (type, "", stream, show, level, language_ada, flags);
gdb_printf (stream, ">");
break;

... and the type's name already has the <>s.

Fix this by simply adding an early check for
TYPE_CODE_INTERNAL_FUNCTION.

Approved-By: Andrew Burgess <aburgess@redhat.com>
Approved-By: Tom Tromey <tom@tromey.com>
Change-Id: Ic2b6527b9240a367471431023f6e27e6daed5501
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30105
gdb/ada-typeprint.c
gdb/testsuite/gdb.base/internal-functions-ptype.exp