diff options
author | Daniel Jacobowitz <drow@false.org> | 2002-10-11 14:02:39 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2002-10-11 14:02:39 +0000 |
commit | 8343f86c902d0f363da4d59931750352377f96af (patch) | |
tree | 3ee82186f5de9ad2f508126bee064e7718f6ad07 /gdb/demangle.c | |
parent | 6d12fc3d08ed2bb837fd2b70916289fa5999363d (diff) | |
download | gdb-8343f86c902d0f363da4d59931750352377f96af.zip gdb-8343f86c902d0f363da4d59931750352377f96af.tar.gz gdb-8343f86c902d0f363da4d59931750352377f96af.tar.bz2 |
* c-exp.y (THIS): Delete token and grammar rule.
(yylex): Don't return THIS.
* cp-valprint.c (vtbl_ptr_name_old): Delete.
(cp_is_vtbl_ptr_type): Don't check vtbl_ptr_name_old.
* demangle.c (cplus_markers): Update comment. Put '$'
first. Remove CPLUS_MARKER.
(_initialize_demangler): Don't call set_cplus_marker_for_demangling.
* jv-exp.y (THIS): Delete token and grammar rule.
(yylex): Don't return THIS.
* mips-tdep.c (mips_dump_tdep): Don't dump CPLUS_MARKER.
* objc-exp.y (THIS): Delete token and grammar rule.
(yylex): Don't return THIS.
* p-exp.y (yylex): Remove reference to CPLUS_MARKER.
* stabsread.c (vptr_name, vb_name): Replace CPLUS_MARKER with '$'.
(read_member_functions): Likewise for opname.
(read_tilde_fields): Use is_cplus_marker.
* defs.h (CPLUS_MARKER): Don't define.
* config/tm-sysv4.h (CPLUS_MARKER): Likewise.
* config/i386/xm-i386sco.h (CPLUS_MARKER): Likewise.
* config/mips/tm-irix3.h (CPLUS_MARKER): Likewise.
* config/mips/tm-irix6.h (CPLUS_MARKER): Likewise.
* config/rs6000/tm-rs6000.h (CPLUS_MARKER): Likewise.
* config/i386/tm-i386v4.h: Delete file.
* config/djgpp/fnchange.lst: Delete tm-i386v4.h.
* config/i386/tm-i386sol2.h: Include "i386/tm-i386.h" instead.
* config/i386/tm-i386v42mp.h: Include "i386/tm-i386.h" instead.
* config/i386/tm-ptx.h: Include "i386/tm-i386.h" instead.
* config/i386/i386gnu.mt (TM_FILE): Use tm-i386.h.
* config/i386/i386sco5.mt (TM_FILE): Likewise.
* config/i386/i386v4.mt (TM_FILE): Likewise.
* config/i386/ncr3000.mt (TM_FILE): Likewise.
Diffstat (limited to 'gdb/demangle.c')
-rw-r--r-- | gdb/demangle.c | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/gdb/demangle.c b/gdb/demangle.c index 1fd69be..2b9579b 100644 --- a/gdb/demangle.c +++ b/gdb/demangle.c @@ -150,24 +150,18 @@ set_demangling_style (char *style) set_demangling_command ((char *) NULL, 0, (struct cmd_list_element *) NULL); } -/* In order to allow a single demangler executable to demangle strings - using various common values of CPLUS_MARKER, as well as any specific - one set at compile time, we maintain a string containing all the - commonly used ones, and check to see if the marker we are looking for - is in that string. CPLUS_MARKER is usually '$' on systems where the - assembler can deal with that. Where the assembler can't, it's usually - '.' (but on many systems '.' is used for other things). We put the - current defined CPLUS_MARKER first (which defaults to '$'), followed - by the next most common value, followed by an explicit '$' in case - the value of CPLUS_MARKER is not '$'. - - We could avoid this if we could just get g++ to tell us what the actual - cplus marker character is as part of the debug information, perhaps by - ensuring that it is the character that terminates the gcc<n>_compiled - marker symbol (FIXME). */ - -static char cplus_markers[] = -{CPLUS_MARKER, '.', '$', '\0'}; +/* G++ uses a special character to indicate certain internal names. Which + character it is depends on the platform: + - Usually '$' on systems where the assembler will accept that + - Usually '.' otherwise (this includes most sysv4-like systems and most + ELF targets) + - Occasionally '_' if neither of the above is usable + + We check '$' first because it is the safest, and '.' often has another + meaning. We don't currently try to handle '_' because the precise forms + of the names are different on those targets. */ + +static char cplus_markers[] = {'$', '.', '\0'}; int is_cplus_marker (int c) @@ -204,5 +198,4 @@ Use `set demangle-style' without arguments for a list of demangling styles.", /* Set the default demangling style chosen at compilation time. */ set_demangling_style (DEFAULT_DEMANGLING_STYLE); - set_cplus_marker_for_demangling (CPLUS_MARKER); } |