]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/p-lang.h
Generated files
[thirdparty/binutils-gdb.git] / gdb / p-lang.h
CommitLineData
373a8247 1/* Pascal language support definitions for GDB, the GNU debugger.
5bcca90b 2
e2882c85 3 Copyright (C) 2000-2018 Free Software Foundation, Inc.
373a8247
PM
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
a9762ec7 9 the Free Software Foundation; either version 3 of the License, or
373a8247
PM
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
a9762ec7 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
373a8247
PM
19
20/* This file is derived from c-lang.h */
21
373a8247 22struct value;
410a0ff2 23struct parser_state;
373a8247 24
cd6c7346
PM
25/* Defined in p-lang.c */
26extern const char *pascal_main_name (void);
27
410a0ff2 28extern int pascal_parse (struct parser_state *); /* Defined in p-exp.y */
373a8247 29
a121b7c1 30extern void pascal_yyerror (const char *); /* Defined in p-exp.y */
373a8247
PM
31
32/* Defined in p-typeprint.c */
25b524e8 33extern void pascal_print_type (struct type *, const char *, struct ui_file *,
79d43c61 34 int, int, const struct type_print_options *);
373a8247 35
5c6ce71d
TT
36extern void pascal_print_typedef (struct type *, struct symbol *,
37 struct ui_file *);
38
e8b24d9f 39extern void pascal_val_print (struct type *, int,
d3eab38a 40 CORE_ADDR, struct ui_file *, int,
e8b24d9f 41 struct value *,
d3eab38a 42 const struct value_print_options *);
373a8247 43
8e069a98
TT
44extern void pascal_value_print (struct value *, struct ui_file *,
45 const struct value_print_options *);
373a8247 46
1d06ead6 47extern void pascal_type_print_method_args (const char *, const char *,
373a8247
PM
48 struct ui_file *);
49
50/* These are in p-lang.c: */
51
6ced1581 52extern int
6c7a06a3 53 is_pascal_string_type (struct type *, int *, int *, int *,
0d5cff50 54 struct type **, const char **);
5598ce11 55
6c7a06a3 56extern void pascal_printchar (int, struct type *, struct ui_file *);
373a8247 57
6c7a06a3 58extern void pascal_printstr (struct ui_file *, struct type *, const gdb_byte *,
be759fcf 59 unsigned int, const char *, int,
79a45b7d 60 const struct value_print_options *);
373a8247 61
7fa29be9 62extern struct type **const pascal_builtin_types[];
373a8247
PM
63
64/* These are in p-typeprint.c: */
65
66extern void
79d43c61
TT
67 pascal_type_print_base (struct type *, struct ui_file *, int, int,
68 const struct type_print_options *);
373a8247
PM
69
70extern void
79d43c61
TT
71 pascal_type_print_varspec_prefix (struct type *, struct ui_file *, int, int,
72 const struct type_print_options *);
373a8247 73
fc1a4b47 74extern void pascal_object_print_value_fields (struct type *, const gdb_byte *,
6b850546 75 LONGEST,
a2bd3dcd 76 CORE_ADDR, struct ui_file *,
79a45b7d 77 int,
e8b24d9f 78 struct value *,
79a45b7d 79 const struct value_print_options *,
373a8247
PM
80 struct type **, int);
81
82extern int pascal_object_is_vtbl_ptr_type (struct type *);
83
84extern int pascal_object_is_vtbl_member (struct type *);