* stabs.texinfo: Document the format for C++ nested types.
[deliverable/binutils-gdb.git] / gdb / demangle.h
1 /* Defs for interface to demanglers.
2 Copyright 1992 Free Software Foundation, Inc.
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2, or (at your option)
7 any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
17
18
19 #define DMGL_PARAMS (1 << 0) /* Include function args */
20 #define DMGL_ANSI (1 << 1) /* Include const, volatile, etc */
21
22 /* Enumeration of possible demangling styles.
23
24 Lucid and cfront styles are still kept logically distinct, even though
25 they now both behave identically. The resulting style is actual the
26 union of both. I.E. either style recognizes both "__pt__" and "__rf__"
27 for operator "->", even though the first is lucid style and the second
28 is cfront/ARM style. (FIXME?) */
29
30 extern enum demangling_styles
31 {
32 unknown_demangling = 0,
33 auto_demangling,
34 gnu_demangling,
35 lucid_demangling,
36 cfront_demangling
37 } current_demangling_style;
38
39 /* Define string names for the various demangling styles. */
40
41 #define AUTO_DEMANGLING_STYLE_STRING "auto"
42 #define GNU_DEMANGLING_STYLE_STRING "gnu"
43 #define LUCID_DEMANGLING_STYLE_STRING "lucid"
44 #define CFRONT_DEMANGLING_STYLE_STRING "cfront"
45
46 /* Some macros to test what demangling style is active. */
47
48 #define AUTO_DEMANGLING (current_demangling_style == auto_demangling)
49 #define GNU_DEMANGLING (current_demangling_style == gnu_demangling)
50 #define LUCID_DEMANGLING (current_demangling_style == lucid_demangling)
51 #define CFRONT_DEMANGLING (current_demangling_style == cfront_demangling)
52
53 extern void
54 set_demangling_style PARAMS ((char *));
This page took 0.030077 seconds and 4 git commands to generate.