Rev 5191 | Go to most recent revision | 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 |