* 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.
This commit is contained in:
parent
6d12fc3d08
commit
8343f86c90
24 changed files with 64 additions and 179 deletions
|
@ -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 '$'.
|
||||
/* 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 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). */
|
||||
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[] =
|
||||
{CPLUS_MARKER, '.', '$', '\0'};
|
||||
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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue