summaryrefslogtreecommitdiff
path: root/gdb/gdb-demangle.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2013-03-13 18:38:10 +0000
committerPedro Alves <palves@redhat.com>2013-03-13 18:38:10 +0000
commitd28b4a8d577ec45eea6136711e380f3c9dff0b58 (patch)
tree1a3c8b3137b4d9554b8d7a07f011a0c721bcfb80 /gdb/gdb-demangle.h
parentf8dd26f1a5f57c45274f13ee6950ade0382e7155 (diff)
downloadgdb-d28b4a8d577ec45eea6136711e380f3c9dff0b58.tar.gz
Fix completer.c FIXME, and invalid pointer to pointer conversion.
As mentioned in the previous patch, I grepped for "\*\*) &" and found one hit in completer.c. I was about to post a patch that simply made current_demangling_style_string const, and cast away constness at the xfree site. However, looking deeper, it seem to be there's a lot of dead code in the file. First, all external callers of set_demangling_style are found in the stabs reader, commented out for over 12 years: http://sourceware.org/ml/gdb-patches/2000-12/msg00214.html I don't think it's likely we'll ever make the older mangling schemes work for stabs. If we do, we can rediscuss the approach then. Then, set_demangling_command has special handling for unknown demangling styles, but "set demangle-style" is an enum command, and with those, the user can only specify a known enumeration value, by design: (gdb) set demangle-style gangnam-style Undefined item: "gangnam-style". This patch removes all that dead code, then makes current_demangling_style_string point to an element of demangling_style_names, as the FIXME suggests, and then makes current_demangling_style_string, removing the need for the 'const char **' cast. gdb/ 2013-03-13 Pedro Alves <palves@redhat.com> * dbxread.c (read_ofile_symtab, process_one_symbol): Remove commented out code. * demangle.c (current_demangling_style_string): Make it const. (set_demangling_command): Assert the demangling style is known. Remove all handling of unknown styles. Set 'current_demangling_style_string' to an element of the demangling_style_names array. (set_demangling_style): Delete. (_initialize_demangler): Set current_demangling_style_string to the element of the demangling_style_names array that corresponds to the default demangling style. Remove FIXME note. Don't call set_demangling_style. * gdb-demangle.h (set_demangling_style): Remove declaration.
Diffstat (limited to 'gdb/gdb-demangle.h')
-rw-r--r--gdb/gdb-demangle.h3
1 files changed, 0 insertions, 3 deletions
diff --git a/gdb/gdb-demangle.h b/gdb/gdb-demangle.h
index 1e91414835d..cd4e27c7dbd 100644
--- a/gdb/gdb-demangle.h
+++ b/gdb/gdb-demangle.h
@@ -28,9 +28,6 @@ extern int demangle;
DEMANGLE is zero, names are printed raw, i.e. DEMANGLE controls. */
extern int asm_demangle;
-/* Fake a "set demangle-style" command. */
-extern void set_demangling_style (char *);
-
/* Check if a character is one of the commonly used C++ marker characters. */
extern int is_cplus_marker (int);