------- Comment #2 from janus at gcc dot gnu dot org 2009-08-24 19:44 ------- (In reply to comment #1) > Seems like by design, see tree-pretty-print.c:print_call_name
Thanks for pointing me at the right place. > Likely for printing prettier member function names. IMHO we should just > drop this function on the floor I wouldn't go as far as dropping the whole function, but at least the part concerning COMPONENT_REF seems pretty braindead to me. I'd propose to just drop this and replace it by something more sane, like here: Index: gcc/tree-pretty-print.c =================================================================== --- gcc/tree-pretty-print.c (revision 151053) +++ gcc/tree-pretty-print.c (working copy) @@ -2705,19 +2705,6 @@ print_call_name (pretty_printer *buffer, dump_generic_node (buffer, TREE_OPERAND (op0, 2), 0, flags, false); break; - case COMPONENT_REF: - /* The function is a pointer contained in a structure. */ - if (TREE_CODE (TREE_OPERAND (op0, 0)) == INDIRECT_REF || - TREE_CODE (TREE_OPERAND (op0, 0)) == VAR_DECL) - dump_function_name (buffer, TREE_OPERAND (op0, 1), flags); - else - dump_generic_node (buffer, TREE_OPERAND (op0, 0), 0, flags, false); - /* else - We can have several levels of structures and a function - pointer inside. This is not implemented yet... */ - /* NIY;*/ - break; - case ARRAY_REF: if (TREE_CODE (TREE_OPERAND (op0, 0)) == VAR_DECL) dump_function_name (buffer, TREE_OPERAND (op0, 0), flags); @@ -2725,6 +2712,7 @@ print_call_name (pretty_printer *buffer, dump_generic_node (buffer, op0, 0, flags, false); break; + case COMPONENT_REF: case SSA_NAME: case OBJ_TYPE_REF: dump_generic_node (buffer, op0, 0, flags, false); This seems to do the right thing (also for multiply nested function pointers as in comment #1). Regtesting now ... -- janus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |janus at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2009-08-24 09:21:23 |2009-08-24 19:44:09 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41149