From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Blandy To: gdb-patches@sources.redhat.com Subject: [RFA]: Clean up C++ type handling in linespec parsing Date: Thu, 15 Mar 2001 19:09:00 -0000 Message-id: <200103160310.WAA26454@zwingli.cygnus.com> X-SW-Source: 2001-03/msg00269.html 2001-03-15 Jim Blandy * linespec.c (find_methods): Just call CHECK_TYPEDEF on t, rather than asking for sym_class's type; that's circuitous. Remove sym_class, since the last use of it is gone. (This is a minor revision of a change from Dan Berlin.) Index: gdb/linespec.c =================================================================== RCS file: /cvs/src/src/gdb/linespec.c,v retrieving revision 1.6 diff -c -c -r1.6 linespec.c *** gdb/linespec.c 2001/03/14 18:36:45 1.6 --- gdb/linespec.c 2001/03/16 02:06:33 *************** *** 104,126 **** { int i1 = 0; int ibase; - struct symbol *sym_class; char *class_name = type_name_no_tag (t); /* Ignore this class if it doesn't have a name. This is ugly, but unless we figure out how to get the physname without the name of the class, then the loop can't do any good. */ if (class_name ! && (sym_class = lookup_symbol (class_name, ! (struct block *) NULL, ! STRUCT_NAMESPACE, ! (int *) NULL, ! (struct symtab **) NULL))) { int method_counter; ! /* FIXME: Shouldn't this just be CHECK_TYPEDEF (t)? */ ! t = SYMBOL_TYPE (sym_class); /* Loop over each method name. At this level, all overloads of a name are counted as a single name. There is an inner loop which loops over --- 104,122 ---- { int i1 = 0; int ibase; char *class_name = type_name_no_tag (t); /* Ignore this class if it doesn't have a name. This is ugly, but unless we figure out how to get the physname without the name of the class, then the loop can't do any good. */ if (class_name ! && (lookup_symbol (class_name, (struct block *) NULL, ! STRUCT_NAMESPACE, (int *) NULL, ! (struct symtab **) NULL))) { int method_counter; ! CHECK_TYPEDEF (t); /* Loop over each method name. At this level, all overloads of a name are counted as a single name. There is an inner loop which loops over