* c-typeprint.c (find_typedef_for_canonicalize,
[deliverable/binutils-gdb.git] / gdb / typeprint.h
CommitLineData
c906108c 1/* Language independent support for printing types for GDB, the GNU debugger.
c5a57081
JB
2 Copyright (C) 1986, 1988-1989, 1991-1993, 1999-2000, 2007-2012 Free
3 Software Foundation, Inc.
c906108c 4
c5aa993b 5 This file is part of GDB.
c906108c 6
c5aa993b
JM
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
c5aa993b 10 (at your option) any later version.
c906108c 11
c5aa993b
JM
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.
c906108c 16
c5aa993b 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/>. */
c906108c 19
17732724
AC
20#ifndef TYPEPRINT_H
21#define TYPEPRINT_H
22
94af9270 23enum language;
da3331ec 24struct ui_file;
bd69fc68 25struct typedef_hash_table;
da3331ec 26
79d43c61
TT
27struct type_print_options
28{
29 /* True means that no special printing flags should apply. */
30 unsigned int raw : 1;
53342f27
TT
31
32 /* True means print methods in a class. */
33 unsigned int print_methods : 1;
34
35 /* True means print typedefs in a class. */
36 unsigned int print_typedefs : 1;
bd69fc68
TT
37
38 /* If not NULL, a local typedef hash table used when printing a
39 type. */
40 struct typedef_hash_table *local_typedefs;
79d43c61
TT
41};
42
43extern const struct type_print_options type_print_raw_options;
44
bd69fc68
TT
45void recursively_update_typedef_hash (struct typedef_hash_table *,
46 struct type *);
47
48void add_template_parameters (struct typedef_hash_table *, struct type *);
49
50struct typedef_hash_table *create_typedef_hash (void);
51
52void free_typedef_hash (struct typedef_hash_table *);
53
54struct cleanup *make_cleanup_free_typedef_hash (struct typedef_hash_table *);
55
56struct typedef_hash_table *copy_typedef_hash (struct typedef_hash_table *);
57
58const char *find_typedef_in_hash (const struct type_print_options *,
59 struct type *);
60
d9fcf2fb 61void print_type_scalar (struct type * type, LONGEST, struct ui_file *);
c906108c 62
d9fcf2fb 63void c_type_print_varspec_suffix (struct type *, struct ui_file *, int,
79d43c61
TT
64 int, int, const struct type_print_options *);
65
66void c_type_print_args (struct type *, struct ui_file *, int, enum language,
67 const struct type_print_options *);
94af9270 68
17732724 69#endif
This page took 1.362803 seconds and 4 git commands to generate.