From 5e81259d23e86f8653945da115d284b771da7e2d Mon Sep 17 00:00:00 2001 From: Fred Fish Date: Thu, 11 Mar 1993 19:27:51 +0000 Subject: [PATCH] * utils.c (fputs_demangled, fprint_symbol): Remove. * utils.c (fprintf_symbol_filtered): New function which combines the functionality of fputs_demangled and fprint_symbol. Uses a caller provided language parameter to select the appropriate demangler, and caller provided args to pass to the demangler. * defs.h (fputs_demangled, fprint_symbol): Remove prototypes. * defs.h (fprintf_symbol_filtered): Add prototype. * c-typeprint.c (cp_type_print_method_args): Replace calls to fputs_demangled with call to fprintf_symbol_filtered. * cp-valprint.c (demangle.h): Include * cp-valprint.c (cp_print_value_fields): Replace calls to fprint_symbol with calls to fprintf_symbol_filtered. * printcmd.c (print_frame_args): Replace call to fprint_symbol with call to fprintf_symbol_filtered. * stack.c (print_frame_info, frame_info): Add language variable to pass to fprintf_symbol_demangled and initialize it from the symbol's language. Replace calls to fputs_demangled with calls to fprintf_symbol_filtered. * symtab.c (find_methods): Replace call to fputs_demangled with call to fprintf_symbol_filtered. **** start-sanitize-chill **** * ch-valprint.c (demangle.h): Include. * ch-valprint.c (chill_print_value_fields): Replace call to fprint_symbol with call to new fprintf_symbol_filtered. **** end-sanitize-chill **** --- gdb/ChangeLog | 34 ++++++++++++++++++++++++---------- gdb/c-typeprint.c | 4 ++-- gdb/ch-valprint.c | 4 +++- gdb/cp-valprint.c | 13 ++++++++++--- gdb/stack.c | 6 ++++-- gdb/symtab.c | 4 ++-- 6 files changed, 45 insertions(+), 20 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index cbc0a089e4..ea8c8f91c8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,20 +1,34 @@ Thu Mar 11 09:33:01 1993 Fred Fish (fnf@cygnus.com) - * utils.c (fputs_demangled): Complete rewrite to clean up and - add a language parameter that is used to select the demangling - algorithm. + * utils.c (fputs_demangled, fprint_symbol): Remove. + * utils.c (fprintf_symbol_filtered): New function which combines + the functionality of fputs_demangled and fprint_symbol. Uses a + caller provided language parameter to select the appropriate + demangler, and caller provided args to pass to the demangler. * defs.h (enum language): Move further up in file so enum can be used in prototypes. - * defs.h (fputs_demangled): Update prototype to add lang arg. - * c-typeprint.c (cp_type_print_method_args): Add language arg - to fputs_demangled calls, remove DMGL_PARAMS flag. + * defs.h (fputs_demangled, fprint_symbol): Remove prototypes. + * defs.h (fprintf_symbol_filtered): Add prototype. + * c-typeprint.c (cp_type_print_method_args): Replace calls to + fputs_demangled with call to fprintf_symbol_filtered. + * cp-valprint.c (demangle.h): Include + * cp-valprint.c (cp_print_value_fields): Replace calls to + fprint_symbol with calls to fprintf_symbol_filtered. + * printcmd.c (print_frame_args): Replace call to fprint_symbol + with call to fprintf_symbol_filtered. * stack.c (print_frame_info): Remove obsolete code so we don't have to update fputs_demangled usage in it. * stack.c (print_frame_info, frame_info): Add language variable - to pass to fputs_demangled and initialize it from the symbol's - language. Call fputs_demangled with language arg. - * symtab.c (find_methods): Add language arg to fputs_demangled - call. + to pass to fprintf_symbol_demangled and initialize it from the + symbol's language. Replace calls to fputs_demangled with calls + to fprintf_symbol_filtered. + * symtab.c (find_methods): Replace call to fputs_demangled with + call to fprintf_symbol_filtered. + **** start-sanitize-chill **** + * ch-valprint.c (demangle.h): Include. + * ch-valprint.c (chill_print_value_fields): Replace call to + fprint_symbol with call to new fprintf_symbol_filtered. + **** end-sanitize-chill **** Wed Mar 10 17:37:11 1993 Fred Fish (fnf@cygnus.com) diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c index 16123afda7..86c5234a4d 100644 --- a/gdb/c-typeprint.c +++ b/gdb/c-typeprint.c @@ -151,8 +151,8 @@ cp_type_print_method_args (args, prefix, varstring, staticp, stream) { int i; - fputs_demangled (prefix, stream, DMGL_ANSI, language_cplus); - fputs_demangled (varstring, stream, DMGL_ANSI, language_cplus); + fprintf_symbol_filtered (stream, prefix, language_cplus, DMGL_ANSI); + fprintf_symbol_filtered (stream, varstring, language_cplus, DMGL_ANSI); fputs_filtered (" (", stream); if (args && args[!staticp] && args[!staticp]->code != TYPE_CODE_VOID) { diff --git a/gdb/ch-valprint.c b/gdb/ch-valprint.c index 40d1553f40..c0ec4f79ea 100644 --- a/gdb/ch-valprint.c +++ b/gdb/ch-valprint.c @@ -25,6 +25,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "expression.h" #include "value.h" #include "language.h" +#include "demangle.h" static void chill_print_value_fields PARAMS ((struct type *, char *, FILE *, int, int, @@ -266,7 +267,8 @@ chill_print_value_fields (type, valaddr, stream, format, recurse, pretty, { wrap_here (n_spaces (2 + 2 * recurse)); } - fprint_symbol (stream, TYPE_FIELD_NAME (type, i)); + fprintf_symbol_filtered (stream, TYPE_FIELD_NAME (type, i), + language_chill, DMGL_NO_OPTS); fputs_filtered (" = ", stream); if (TYPE_FIELD_PACKED (type, i)) { diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c index 071f77f33e..3e4068560f 100644 --- a/gdb/cp-valprint.c +++ b/gdb/cp-valprint.c @@ -25,6 +25,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "value.h" #include "command.h" #include "gdbcmd.h" +#include "demangle.h" int vtblprint; /* Controls printing of vtbl's */ int objectprint; /* Controls looking up an object's derived type @@ -259,14 +260,20 @@ cp_print_value_fields (type, valaddr, stream, format, recurse, pretty, fputs_filtered ("\"( ptr \"", stream); else fputs_filtered ("\"( nodef \"", stream); - fprint_symbol (stream, TYPE_FIELD_NAME (type, i)); + fprintf_symbol_filtered (stream, TYPE_FIELD_NAME (type, i), + language_cplus, + DMGL_PARAMS | DMGL_ANSI); fputs_filtered ("\" \"", stream); - fprint_symbol (stream, TYPE_FIELD_NAME (type, i)); + fprintf_symbol_filtered (stream, TYPE_FIELD_NAME (type, i), + language_cplus, + DMGL_PARAMS | DMGL_ANSI); fputs_filtered ("\") \"", stream); } else { - fprint_symbol (stream, TYPE_FIELD_NAME (type, i)); + fprintf_symbol_filtered (stream, TYPE_FIELD_NAME (type, i), + language_cplus, + DMGL_PARAMS | DMGL_ANSI); fputs_filtered (" = ", stream); } if (TYPE_FIELD_PACKED (type, i)) diff --git a/gdb/stack.c b/gdb/stack.c index e9757d05a5..31d7b28460 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -201,7 +201,8 @@ print_frame_info (fi, level, source, args) if (addressprint) if (fi->pc != sal.pc || !sal.symtab) printf_filtered ("%s in ", local_hex_string(fi->pc)); - fputs_demangled (funname ? funname : "??", stdout, 0, funlang); + fprintf_symbol_filtered (stdout, funname ? funname : "??", funlang, + DMGL_NO_OPTS); wrap_here (" "); fputs_filtered (" (", stdout); if (args) @@ -413,7 +414,8 @@ frame_info (addr_exp, from_tty) if (funname) { printf_filtered (" in "); - fputs_demangled (funname, stdout, DMGL_ANSI | DMGL_PARAMS, funlang); + fprintf_symbol_filtered (stdout, funname, funlang, + DMGL_ANSI | DMGL_PARAMS); } wrap_here (" "); if (sal.symtab) diff --git a/gdb/symtab.c b/gdb/symtab.c index c31d7b6e63..c7a2178596 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -1389,8 +1389,8 @@ find_methods (t, name, sym_arr) else { fputs_filtered("(Cannot find method ", stdout); - fputs_demangled(phys_name, stdout, DMGL_PARAMS, - language_cplus); + fprintf_symbol_filtered (stdout, phys_name, + language_cplus, DMGL_PARAMS); fputs_filtered(" - possibly inlined.)\n", stdout); } }