=== gdb/varobj.c ================================================================== --- gdb/varobj.c (/mirrors/gdb_mainline) (revision 2298) +++ gdb/varobj.c (/patches/gdb/c_registers/gdb_mainline) (revision 2298) @@ -518,7 +518,15 @@ var->type = value_type (var->value); /* Set language info */ - lang = variable_language (var); + if (VALUE_REGNUM (var->value) != -1) + /* For register values, we don't want any language + specific processing, so use the less specialized + language. Otherwise, in C++ programs registers likes + xmm1 will feature 'public' children, that makes no + sense for registers. */ + lang = vlang_c; + else + lang = variable_language (var); var->root->lang = languages[lang]; /* Set ourselves as our root */