GDB (xrefs)
/tmp/gdb-7.10/gdb/go-lang.h
Go to the documentation of this file.
1 /* Go language support definitions for GDB, the GNU debugger.
2 
3  Copyright (C) 2012-2015 Free Software Foundation, Inc.
4 
5  This file is part of GDB.
6 
7  This program is free software; you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation; either version 3 of the License, or
10  (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program. If not, see <http://www.gnu.org/licenses/>. */
19 
20 #if !defined (GO_LANG_H)
21 #define GO_LANG_H 1
22 
23 struct type_print_options;
24 
25 #include "gdbtypes.h"
26 #include "symtab.h"
27 #include "value.h"
28 
29 struct parser_state;
30 
32 {
33  struct type *builtin_void;
34  struct type *builtin_char;
35  struct type *builtin_bool;
36  struct type *builtin_int;
37  struct type *builtin_uint;
39  struct type *builtin_int8;
51 };
52 
53 enum go_type
54 {
55  GO_TYPE_NONE, /* Not a Go object. */
57 };
58 
59 /* Defined in go-exp.y. */
60 
61 extern int go_parse (struct parser_state *);
62 
63 extern void go_error (char *);
64 
65 /* Defined in go-lang.c. */
66 
67 extern const char *go_main_name (void);
68 
69 extern enum go_type go_classify_struct_type (struct type *type);
70 
71 extern char *go_demangle (const char *mangled, int options);
72 
73 extern char *go_symbol_package_name (const struct symbol *sym);
74 
75 extern char *go_block_package_name (const struct block *block);
76 
77 extern const struct builtin_go_type *builtin_go_type (struct gdbarch *);
78 
79 /* Defined in go-typeprint.c. */
80 
81 extern void go_print_type (struct type *type, const char *varstring,
82  struct ui_file *stream, int show, int level,
83  const struct type_print_options *flags);
84 
85 /* Defined in go-valprint.c. */
86 
87 extern void go_val_print (struct type *type, const gdb_byte *valaddr,
88  int embedded_offset, CORE_ADDR address,
89  struct ui_file *stream, int recurse,
90  const struct value *val,
91  const struct value_print_options *options);
92 
93 #endif /* !defined (GO_LANG_H) */
struct type * builtin_uint16
Definition: go-lang.h:44
void go_print_type(struct type *type, const char *varstring, struct ui_file *stream, int show, int level, const struct type_print_options *flags)
Definition: go-typeprint.c:45
bfd_vma CORE_ADDR
Definition: common-types.h:41
struct type * builtin_uint32
Definition: go-lang.h:45
struct type * builtin_int16
Definition: go-lang.h:40
struct type * builtin_complex128
Definition: go-lang.h:50
void go_error(char *)
struct type * builtin_int
Definition: go-lang.h:36
const struct builtin_go_type * builtin_go_type(struct gdbarch *)
Definition: go-lang.c:656
struct type * builtin_int8
Definition: go-lang.h:39
struct type * builtin_int32
Definition: go-lang.h:41
enum go_type go_classify_struct_type(struct type *type)
Definition: go-lang.c:120
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int flags
Definition: gnu-nat.c:1885
struct type * builtin_char
Definition: go-lang.h:34
struct type * builtin_uint8
Definition: go-lang.h:43
struct type * builtin_int64
Definition: go-lang.h:42
struct type * builtin_uintptr
Definition: go-lang.h:38
void go_val_print(struct type *type, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options)
Definition: go-valprint.c:89
Definition: gdbtypes.h:749
int go_parse(struct parser_state *)
Definition: go-exp.c:3226
struct type * builtin_void
Definition: go-lang.h:33
struct type * builtin_uint64
Definition: go-lang.h:46
const char * go_main_name(void)
Definition: go-lang.c:55
struct type * builtin_float64
Definition: go-lang.h:48
struct type * builtin_complex64
Definition: go-lang.h:49
Definition: block.h:60
Definition: value.c:172
bfd_byte gdb_byte
Definition: common-types.h:38
go_type
Definition: go-lang.h:53
Definition: symtab.h:703
struct type * builtin_bool
Definition: go-lang.h:35
char * go_demangle(const char *mangled, int options)
Definition: go-lang.c:336
struct type * builtin_float32
Definition: go-lang.h:47
struct type * builtin_uint
Definition: go-lang.h:37
char * go_symbol_package_name(const struct symbol *sym)
Definition: go-lang.c:392
char * go_block_package_name(const struct block *block)
Definition: go-lang.c:421