Skip to content

Some containers not being recognized. #1

Open
@Labdabeta

Description

@Labdabeta

While using these pretty printers to debug a compiler I am writing I realized that many containers weren't pretty printed. In particular I was able to write:

(gdb) ptype macros
type = new ada.finalization.controlled with record
    ht: preprocessing.macro_maps.ht_types.hash_table_type;
end record
(gdb) p macros
$6 = (ht => (buckets => 0x7ffff0000b68, length => 7, tc => (busy => 0, lock => 0)))
(gdb) p next.data.value
$7 = Unbounded_String (")")
(gdb) info pretty-printer 
global pretty-printers:
  builtin
    mpx_bound128
  objfile /home/louis/projects/lab/lcc pretty-printers:
  gnat-runtime
    Doubly_Linked_List
    Doubly_Linked_List_Cursor
    Hashed_Map
    Hashed_Set
    Ordered_Map
    Ordered_Map_Cursor
    Ordered_Map_Cursor
    Ordered_Set
    Ordered_Set_Cursor
    Ordered_Set_Cursor
    Unbounded_String
    Vector
    Vector_Cursor
    access String

Which is unusual because macros is a hash_map and should be pretty printed, but isn't. Meanwhile next data value is an unbounded string and is pretty printed as expected.

Unfortunately I have not yet come up with a minimal example that causes this, but as soon as I do I will post it here as well. I suspect this is some bug about nesting of child packages with new names, as the containers in question have keys and elements of compound types and are declared within child packages.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions