This is the typeid thing. This patch implements typeid in gdb, letting users do things like p typeid() p typeid().name() p typeid().__name p typeid().__is_pointer_() and the same thing for types (i.e., p typeid().name()) FWIW, you can even do stuff like set tp = typeid().name() (assuming there's a "char *tp;" in your source...) There are some differences, though, between the gdb typeid and the c++ typeid, the biggest is that the gdb version only partially implements the type_info class: it doesn't actually implement the methods, it just fakes them, and even though you can assign things like "set tp = typeid().name()" you can't assign "set ti = typeid()" where "type_info *ti;" Another difference is that the real typeid returns mangled names, leaving it to the user to demangle. This strikes me as a pain, so I just provide the demangled names. The attached patch works as advertised--see pr9065.exp for more details--but I haven't done a full regression yet. Feedback welcome, Chris