projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix reconnecting to a gdbserver already debugging multiple processes, II
[deliverable/binutils-gdb.git]
/
gdb
/
go-lang.c
diff --git
a/gdb/go-lang.c
b/gdb/go-lang.c
index 9f88e324120541241144bedbb82876e57222fa3a..fe60b290411182c997d2697d20c9cb87218419fe 100644
(file)
--- a/
gdb/go-lang.c
+++ b/
gdb/go-lang.c
@@
-1,6
+1,6
@@
/* Go language support routines for GDB, the GNU debugger.
/* Go language support routines for GDB, the GNU debugger.
- Copyright (C) 2012-20
17
Free Software Foundation, Inc.
+ Copyright (C) 2012-20
20
Free Software Foundation, Inc.
This file is part of GDB.
This file is part of GDB.
@@
-40,6
+40,7
@@
#include "go-lang.h"
#include "c-lang.h"
#include "parser-defs.h"
#include "go-lang.h"
#include "c-lang.h"
#include "parser-defs.h"
+#include "gdbarch.h"
#include <ctype.h>
#include <ctype.h>
@@
-106,8
+107,8
@@
static int
sixg_string_p (struct type *type)
{
if (TYPE_NFIELDS (type) == 2
sixg_string_p (struct type *type)
{
if (TYPE_NFIELDS (type) == 2
- && TYPE_
TAG_
NAME (type) != NULL
- && strcmp (TYPE_
TAG_
NAME (type), "string") == 0)
+ && TYPE_NAME (type) != NULL
+ && strcmp (TYPE_NAME (type), "string") == 0)
return 1;
return 0;
return 1;
return 0;
@@
-130,6
+131,16
@@
go_classify_struct_type (struct type *type)
return GO_TYPE_NONE;
}
return GO_TYPE_NONE;
}
+/* Return true if TYPE is a string. */
+
+static bool
+go_is_string_type_p (struct type *type)
+{
+ type = check_typedef (type);
+ return (TYPE_CODE (type) == TYPE_CODE_STRUCT
+ && go_classify_struct_type (type) == GO_TYPE_STRING);
+}
+
/* Subroutine of unpack_mangled_go_symbol to simplify it.
Given "[foo.]bar.baz", store "bar" in *PACKAGEP and "baz" in *OBJECTP.
We stomp on the last '.' to nul-terminate "bar".
/* Subroutine of unpack_mangled_go_symbol to simplify it.
Given "[foo.]bar.baz", store "bar" in *PACKAGEP and "baz" in *OBJECTP.
We stomp on the last '.' to nul-terminate "bar".
@@
-400,7
+411,7
@@
go_sniff_from_mangled_name (const char *mangled, char **demangled)
char *
go_symbol_package_name (const struct symbol *sym)
{
char *
go_symbol_package_name (const struct symbol *sym)
{
- const char *mangled_name =
SYMBOL_LINKAGE_NAME (sym
);
+ const char *mangled_name =
sym->linkage_name (
);
const char *package_name;
const char *object_name;
const char *method_type_package_name;
const char *package_name;
const char *object_name;
const char *method_type_package_name;
@@
-409,7
+420,7
@@
go_symbol_package_name (const struct symbol *sym)
char *name_buf;
char *result;
char *name_buf;
char *result;
- gdb_assert (
SYMBOL_LANGUAGE (sym
) == language_go);
+ gdb_assert (
sym->language (
) == language_go);
name_buf = unpack_mangled_go_symbol (mangled_name,
&package_name, &object_name,
&method_type_package_name,
name_buf = unpack_mangled_go_symbol (mangled_name,
&package_name, &object_name,
&method_type_package_name,
@@
-577,7
+588,6
@@
extern const struct language_defn go_language_defn =
NULL,
&exp_descriptor_c,
go_parse,
NULL,
&exp_descriptor_c,
go_parse,
- go_yyerror,
null_post_parser,
c_printchar, /* Print a character constant. */
c_printstr, /* Function to print string constant. */
null_post_parser,
c_printchar, /* Print a character constant. */
c_printstr, /* Function to print string constant. */
@@
-590,6
+600,7
@@
extern const struct language_defn go_language_defn =
default_read_var_value, /* la_read_var_value */
NULL, /* Language specific skip_trampoline. */
NULL, /* name_of_this */
default_read_var_value, /* la_read_var_value */
NULL, /* Language specific skip_trampoline. */
NULL, /* name_of_this */
+ false, /* la_store_sym_names_in_linkage_form_p */
basic_lookup_symbol_nonlocal,
basic_lookup_transparent_type,
go_demangle, /* Language specific symbol demangler. */
basic_lookup_symbol_nonlocal,
basic_lookup_transparent_type,
go_demangle, /* Language specific symbol demangler. */
@@
-604,7
+615,6
@@
extern const struct language_defn go_language_defn =
go_language_arch_info,
default_print_array_index,
default_pass_by_reference,
go_language_arch_info,
default_print_array_index,
default_pass_by_reference,
- c_get_string,
c_watch_location_expression,
NULL, /* la_get_symbol_name_matcher */
iterate_over_symbols,
c_watch_location_expression,
NULL, /* la_get_symbol_name_matcher */
iterate_over_symbols,
@@
-612,7
+622,8
@@
extern const struct language_defn go_language_defn =
&default_varobj_ops,
NULL,
NULL,
&default_varobj_ops,
NULL,
NULL,
- LANG_MAGIC
+ go_is_string_type_p,
+ "{...}" /* la_struct_too_deep_ellipsis */
};
static void *
};
static void *
This page took
0.0269 seconds
and
4
git commands to generate.