mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 14:39:09 +08:00
Move declaration of vtbl_ptr_name to the header.
There are conflicting comments about whether this was introduced in GCC 2.4.5 or GCC 2.6 and I don't know which one is correct... gdb/ChangeLog: 2019-10-07 Christian Biesinger <cbiesinger@google.com> * c-lang.h (vtbl_ptr_name): Declare. * cp-valprint.c (vtbl_ptr_name): Remove "extern" now that we get it from the header. * stabsread.c (define_symbol): Remove declaration of vtbl_ptr_name.
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
2019-10-07 Christian Biesinger <cbiesinger@google.com>
|
||||||
|
|
||||||
|
* c-lang.h (vtbl_ptr_name): Declare.
|
||||||
|
* cp-valprint.c (vtbl_ptr_name): Remove "extern" now that we get
|
||||||
|
it from the header.
|
||||||
|
* stabsread.c (define_symbol): Remove declaration of vtbl_ptr_name.
|
||||||
|
|
||||||
2019-10-07 Christian Biesinger <cbiesinger@google.com>
|
2019-10-07 Christian Biesinger <cbiesinger@google.com>
|
||||||
|
|
||||||
* charset.c (your_gdb_wchar_t_is_bogus): Replace with a
|
* charset.c (your_gdb_wchar_t_is_bogus): Replace with a
|
||||||
|
@ -144,6 +144,12 @@ extern void cp_print_value_fields_rtti (struct type *,
|
|||||||
const struct value_print_options *,
|
const struct value_print_options *,
|
||||||
struct type **, int);
|
struct type **, int);
|
||||||
|
|
||||||
|
/* gcc-2.6 or later (when using -fvtable-thunks)
|
||||||
|
emits a unique named type for a vtable entry.
|
||||||
|
Some gdb code depends on that specific name. */
|
||||||
|
|
||||||
|
extern const char vtbl_ptr_name[];
|
||||||
|
|
||||||
extern int cp_is_vtbl_ptr_type (struct type *);
|
extern int cp_is_vtbl_ptr_type (struct type *);
|
||||||
|
|
||||||
extern int cp_is_vtbl_member (struct type *);
|
extern int cp_is_vtbl_member (struct type *);
|
||||||
|
@ -56,7 +56,7 @@ static void cp_print_value (struct type *, struct type *,
|
|||||||
|
|
||||||
|
|
||||||
/* GCC versions after 2.4.5 use this. */
|
/* GCC versions after 2.4.5 use this. */
|
||||||
extern const char vtbl_ptr_name[] = "__vtbl_ptr_type";
|
const char vtbl_ptr_name[] = "__vtbl_ptr_type";
|
||||||
|
|
||||||
/* Return truth value for assertion that TYPE is of the type
|
/* Return truth value for assertion that TYPE is of the type
|
||||||
"pointer to virtual function". */
|
"pointer to virtual function". */
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
#include "gdb-demangle.h"
|
#include "gdb-demangle.h"
|
||||||
#include "language.h"
|
#include "language.h"
|
||||||
#include "target-float.h"
|
#include "target-float.h"
|
||||||
|
#include "c-lang.h"
|
||||||
#include "cp-abi.h"
|
#include "cp-abi.h"
|
||||||
#include "cp-support.h"
|
#include "cp-support.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
@ -1259,11 +1260,6 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
|
|||||||
|
|
||||||
if (TYPE_NAME (SYMBOL_TYPE (sym)) == NULL)
|
if (TYPE_NAME (SYMBOL_TYPE (sym)) == NULL)
|
||||||
{
|
{
|
||||||
/* gcc-2.6 or later (when using -fvtable-thunks)
|
|
||||||
emits a unique named type for a vtable entry.
|
|
||||||
Some gdb code depends on that specific name. */
|
|
||||||
extern const char vtbl_ptr_name[];
|
|
||||||
|
|
||||||
if ((TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_PTR
|
if ((TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_PTR
|
||||||
&& strcmp (SYMBOL_LINKAGE_NAME (sym), vtbl_ptr_name))
|
&& strcmp (SYMBOL_LINKAGE_NAME (sym), vtbl_ptr_name))
|
||||||
|| TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_FUNC)
|
|| TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_FUNC)
|
||||||
|
Reference in New Issue
Block a user