Subversion Repositories Kolibri OS

Rev

Rev 5191 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5191 Rev 6324
Line 1... Line 1...
1
/* Defs for interface to demanglers.
1
/* Defs for interface to demanglers.
2
   Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002,
-
 
3
   2003, 2004, 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
2
   Copyright (C) 1992-2015 Free Software Foundation, Inc.
Line 4... Line 3...
4
   
3
 
5
   This program is free software; you can redistribute it and/or
4
   This program is free software; you can redistribute it and/or
6
   modify it under the terms of the GNU Library General Public License
5
   modify it under the terms of the GNU Library General Public License
7
   as published by the Free Software Foundation; either version 2, or
6
   as published by the Free Software Foundation; either version 2, or
Line 61... Line 60...
61
                                            same as ARM except for
60
                                            same as ARM except for
62
                                            template arguments, etc. */
61
                                            template arguments, etc. */
63
#define DMGL_EDG	 (1 << 13)
62
#define DMGL_EDG	 (1 << 13)
64
#define DMGL_GNU_V3	 (1 << 14)
63
#define DMGL_GNU_V3	 (1 << 14)
65
#define DMGL_GNAT	 (1 << 15)
64
#define DMGL_GNAT	 (1 << 15)
-
 
65
#define DMGL_DLANG	 (1 << 16)
Line 66... Line 66...
66
 
66
 
67
/* If none of these are set, use 'current_demangling_style' as the default. */
67
/* If none of these are set, use 'current_demangling_style' as the default. */
Line 68... Line 68...
68
#define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT)
68
#define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT|DMGL_DLANG)
Line 69... Line 69...
69
 
69
 
70
/* Enumeration of possible demangling styles.
70
/* Enumeration of possible demangling styles.
Line 85... Line 85...
85
  arm_demangling = DMGL_ARM,
85
  arm_demangling = DMGL_ARM,
86
  hp_demangling = DMGL_HP,
86
  hp_demangling = DMGL_HP,
87
  edg_demangling = DMGL_EDG,
87
  edg_demangling = DMGL_EDG,
88
  gnu_v3_demangling = DMGL_GNU_V3,
88
  gnu_v3_demangling = DMGL_GNU_V3,
89
  java_demangling = DMGL_JAVA,
89
  java_demangling = DMGL_JAVA,
90
  gnat_demangling = DMGL_GNAT
90
  gnat_demangling = DMGL_GNAT,
-
 
91
  dlang_demangling = DMGL_DLANG
91
} current_demangling_style;
92
} current_demangling_style;
Line 92... Line 93...
92
 
93
 
Line 93... Line 94...
93
/* Define string names for the various demangling styles. */
94
/* Define string names for the various demangling styles. */
Line 100... Line 101...
100
#define HP_DEMANGLING_STYLE_STRING	      "hp"
101
#define HP_DEMANGLING_STYLE_STRING	      "hp"
101
#define EDG_DEMANGLING_STYLE_STRING	      "edg"
102
#define EDG_DEMANGLING_STYLE_STRING	      "edg"
102
#define GNU_V3_DEMANGLING_STYLE_STRING        "gnu-v3"
103
#define GNU_V3_DEMANGLING_STYLE_STRING        "gnu-v3"
103
#define JAVA_DEMANGLING_STYLE_STRING          "java"
104
#define JAVA_DEMANGLING_STYLE_STRING          "java"
104
#define GNAT_DEMANGLING_STYLE_STRING          "gnat"
105
#define GNAT_DEMANGLING_STYLE_STRING          "gnat"
-
 
106
#define DLANG_DEMANGLING_STYLE_STRING         "dlang"
Line 105... Line 107...
105
 
107
 
Line 106... Line 108...
106
/* Some macros to test what demangling style is active. */
108
/* Some macros to test what demangling style is active. */
107
 
109
 
Line 113... Line 115...
113
#define HP_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_HP)
115
#define HP_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_HP)
114
#define EDG_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_EDG)
116
#define EDG_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_EDG)
115
#define GNU_V3_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNU_V3)
117
#define GNU_V3_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNU_V3)
116
#define JAVA_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_JAVA)
118
#define JAVA_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_JAVA)
117
#define GNAT_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNAT)
119
#define GNAT_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNAT)
-
 
120
#define DLANG_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_DLANG)
Line 118... Line 121...
118
 
121
 
119
/* Provide information about the available demangle styles. This code is
122
/* Provide information about the available demangle styles. This code is
Line 120... Line 123...
120
   pulled from gdb into libiberty because it is useful to binutils also.  */
123
   pulled from gdb into libiberty because it is useful to binutils also.  */
Line 167... Line 170...
167
java_demangle_v3 (const char *mangled);
170
java_demangle_v3 (const char *mangled);
Line 168... Line 171...
168
 
171
 
169
char *
172
char *
Line -... Line 173...
-
 
173
ada_demangle (const char *mangled, int options);
-
 
174
 
-
 
175
extern char *
170
ada_demangle (const char *mangled, int options);
176
dlang_demangle (const char *mangled, int options);
171
 
177
 
172
enum gnu_v3_ctor_kinds {
178
enum gnu_v3_ctor_kinds {
173
  gnu_v3_complete_object_ctor = 1,
179
  gnu_v3_complete_object_ctor = 1,
-
 
180
  gnu_v3_base_object_ctor,
-
 
181
  gnu_v3_complete_object_allocating_ctor,
-
 
182
  /* These are not part of the V3 ABI.  Unified constructors are generated
-
 
183
     as a speed-for-space optimization when the -fdeclone-ctor-dtor option
174
  gnu_v3_base_object_ctor,
184
     is used, and are always internal symbols.  */
175
  gnu_v3_complete_object_allocating_ctor,
185
  gnu_v3_unified_ctor,
Line 176... Line 186...
176
  gnu_v3_object_ctor_group
186
  gnu_v3_object_ctor_group
177
};
187
};
Line 186... Line 196...
186
 
196
 
187
enum gnu_v3_dtor_kinds {
197
enum gnu_v3_dtor_kinds {
188
  gnu_v3_deleting_dtor = 1,
198
  gnu_v3_deleting_dtor = 1,
189
  gnu_v3_complete_object_dtor,
199
  gnu_v3_complete_object_dtor,
-
 
200
  gnu_v3_base_object_dtor,
-
 
201
  /* These are not part of the V3 ABI.  Unified destructors are generated
-
 
202
     as a speed-for-space optimization when the -fdeclone-ctor-dtor option
-
 
203
     is used, and are always internal symbols.  */
190
  gnu_v3_base_object_dtor,
204
  gnu_v3_unified_dtor,
191
  gnu_v3_object_dtor_group
205
  gnu_v3_object_dtor_group
Line 192... Line 206...
192
};
206
};
193
 
207