Change extension language pretty-printers to use value API
[deliverable/binutils-gdb.git] / gdb / p-lang.h
CommitLineData
373a8247 1/* Pascal language support definitions for GDB, the GNU debugger.
5bcca90b 2
b811d2c2 3 Copyright (C) 2000-2020 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 19
1a5c2598
TT
20#ifndef P_LANG_H
21#define P_LANG_H
22
373a8247
PM
23/* This file is derived from c-lang.h */
24
373a8247 25struct value;
410a0ff2 26struct parser_state;
373a8247 27
cd6c7346
PM
28/* Defined in p-lang.c */
29extern const char *pascal_main_name (void);
30
410a0ff2 31extern int pascal_parse (struct parser_state *); /* Defined in p-exp.y */
373a8247 32
373a8247 33/* Defined in p-typeprint.c */
25b524e8 34extern void pascal_print_type (struct type *, const char *, struct ui_file *,
79d43c61 35 int, int, const struct type_print_options *);
373a8247 36
5c6ce71d
TT
37extern void pascal_print_typedef (struct type *, struct symbol *,
38 struct ui_file *);
39
e8b24d9f 40extern void pascal_val_print (struct type *, int,
d3eab38a 41 CORE_ADDR, struct ui_file *, int,
e8b24d9f 42 struct value *,
d3eab38a 43 const struct value_print_options *);
373a8247 44
c0941be6
TT
45/* Implement la_value_print_inner for Pascal. */
46
47extern void pascal_value_print_inner (struct value *, struct ui_file *, int,
48 const struct value_print_options *);
49
8e069a98
TT
50extern void pascal_value_print (struct value *, struct ui_file *,
51 const struct value_print_options *);
373a8247 52
1d06ead6 53extern void pascal_type_print_method_args (const char *, const char *,
373a8247
PM
54 struct ui_file *);
55
56/* These are in p-lang.c: */
57
6ced1581 58extern int
6c7a06a3 59 is_pascal_string_type (struct type *, int *, int *, int *,
0d5cff50 60 struct type **, const char **);
5598ce11 61
6c7a06a3 62extern void pascal_printchar (int, struct type *, struct ui_file *);
373a8247 63
6c7a06a3 64extern void pascal_printstr (struct ui_file *, struct type *, const gdb_byte *,
be759fcf 65 unsigned int, const char *, int,
79a45b7d 66 const struct value_print_options *);
373a8247 67
7fa29be9 68extern struct type **const pascal_builtin_types[];
373a8247
PM
69
70/* These are in p-typeprint.c: */
71
72extern void
79d43c61
TT
73 pascal_type_print_base (struct type *, struct ui_file *, int, int,
74 const struct type_print_options *);
373a8247
PM
75
76extern void
79d43c61
TT
77 pascal_type_print_varspec_prefix (struct type *, struct ui_file *, int, int,
78 const struct type_print_options *);
373a8247 79
373a8247
PM
80extern int pascal_object_is_vtbl_ptr_type (struct type *);
81
82extern int pascal_object_is_vtbl_member (struct type *);
1a5c2598
TT
83
84#endif /* P_LANG_H */
This page took 1.880341 seconds and 4 git commands to generate.