mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 10:35:12 +08:00
Set language for C++ special symbols.
The special handling of C++ special symbol generates symbols that have no language. Those symbols cannot be displayed correctly in the backtrace stack. See https://sourceware.org/bugzilla/show_bug.cgi?id=17811 for details and examples in C++ and pascal language. The patch below fixes this issue, by setting language of new symbol before special handling of special C++ symbols. 2015-01-07 Pierre Muller <muller@sourceware.org> PR symtab/17811 * stabsread.c (define_symbol): Set language for C++ special symbols.
This commit is contained in:
parent
acc018ac03
commit
025ac41482
@ -1,3 +1,8 @@
|
||||
2015-01-07 Pierre Muller <muller@sourceware.org>
|
||||
|
||||
PR symtab/17811
|
||||
* stabsread.c (define_symbol): Set language for C++ special symbols.
|
||||
|
||||
2015-01-07 Patrick Palka <patrick@parcs.ath.cx>
|
||||
|
||||
* inflow.c (initial_gdb_ttystate): Tweak comment.
|
||||
|
@ -675,6 +675,9 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
|
||||
SYMBOL_LINE (sym) = 0; /* unknown */
|
||||
}
|
||||
|
||||
SYMBOL_SET_LANGUAGE (sym, current_subfile->language,
|
||||
&objfile->objfile_obstack);
|
||||
|
||||
if (is_cplus_marker (string[0]))
|
||||
{
|
||||
/* Special GNU C++ names. */
|
||||
@ -710,8 +713,6 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
|
||||
else
|
||||
{
|
||||
normal:
|
||||
SYMBOL_SET_LANGUAGE (sym, current_subfile->language,
|
||||
&objfile->objfile_obstack);
|
||||
if (SYMBOL_LANGUAGE (sym) == language_cplus)
|
||||
{
|
||||
char *name = alloca (p - string + 1);
|
||||
|
Loading…
Reference in New Issue
Block a user