Rev 6554 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6554 | Rev 6556 | ||
---|---|---|---|
Line 61... | Line 61... | ||
61 | same as ARM except for |
61 | same as ARM except for |
62 | template arguments, etc. */ |
62 | template arguments, etc. */ |
63 | #define DMGL_EDG (1 << 13) |
63 | #define DMGL_EDG (1 << 13) |
64 | #define DMGL_GNU_V3 (1 << 14) |
64 | #define DMGL_GNU_V3 (1 << 14) |
65 | #define DMGL_GNAT (1 << 15) |
65 | #define DMGL_GNAT (1 << 15) |
- | 66 | #define DMGL_DLANG (1 << 16) |
|
Line 66... | Line 67... | ||
66 | 67 | ||
67 | /* If none of these are set, use 'current_demangling_style' as the default. */ |
68 | /* If none of these are set, use 'current_demangling_style' as the default. */ |
Line 68... | Line 69... | ||
68 | #define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT) |
69 | #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 70... | ||
69 | 70 | ||
70 | /* Enumeration of possible demangling styles. |
71 | /* Enumeration of possible demangling styles. |
Line 85... | Line 86... | ||
85 | arm_demangling = DMGL_ARM, |
86 | arm_demangling = DMGL_ARM, |
86 | hp_demangling = DMGL_HP, |
87 | hp_demangling = DMGL_HP, |
87 | edg_demangling = DMGL_EDG, |
88 | edg_demangling = DMGL_EDG, |
88 | gnu_v3_demangling = DMGL_GNU_V3, |
89 | gnu_v3_demangling = DMGL_GNU_V3, |
89 | java_demangling = DMGL_JAVA, |
90 | java_demangling = DMGL_JAVA, |
90 | gnat_demangling = DMGL_GNAT |
91 | gnat_demangling = DMGL_GNAT, |
- | 92 | dlang_demangling = DMGL_DLANG |
|
91 | } current_demangling_style; |
93 | } current_demangling_style; |
Line 92... | Line 94... | ||
92 | 94 | ||
Line 93... | Line 95... | ||
93 | /* Define string names for the various demangling styles. */ |
95 | /* Define string names for the various demangling styles. */ |
Line 100... | Line 102... | ||
100 | #define HP_DEMANGLING_STYLE_STRING "hp" |
102 | #define HP_DEMANGLING_STYLE_STRING "hp" |
101 | #define EDG_DEMANGLING_STYLE_STRING "edg" |
103 | #define EDG_DEMANGLING_STYLE_STRING "edg" |
102 | #define GNU_V3_DEMANGLING_STYLE_STRING "gnu-v3" |
104 | #define GNU_V3_DEMANGLING_STYLE_STRING "gnu-v3" |
103 | #define JAVA_DEMANGLING_STYLE_STRING "java" |
105 | #define JAVA_DEMANGLING_STYLE_STRING "java" |
104 | #define GNAT_DEMANGLING_STYLE_STRING "gnat" |
106 | #define GNAT_DEMANGLING_STYLE_STRING "gnat" |
- | 107 | #define DLANG_DEMANGLING_STYLE_STRING "dlang" |
|
Line 105... | Line 108... | ||
105 | 108 | ||
Line 106... | Line 109... | ||
106 | /* Some macros to test what demangling style is active. */ |
109 | /* Some macros to test what demangling style is active. */ |
107 | 110 | ||
Line 113... | Line 116... | ||
113 | #define HP_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_HP) |
116 | #define HP_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_HP) |
114 | #define EDG_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_EDG) |
117 | #define EDG_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_EDG) |
115 | #define GNU_V3_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNU_V3) |
118 | #define GNU_V3_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNU_V3) |
116 | #define JAVA_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_JAVA) |
119 | #define JAVA_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_JAVA) |
117 | #define GNAT_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNAT) |
120 | #define GNAT_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNAT) |
- | 121 | #define DLANG_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_DLANG) |
|
Line 118... | Line 122... | ||
118 | 122 | ||
119 | /* Provide information about the available demangle styles. This code is |
123 | /* Provide information about the available demangle styles. This code is |
Line 120... | Line 124... | ||
120 | pulled from gdb into libiberty because it is useful to binutils also. */ |
124 | pulled from gdb into libiberty because it is useful to binutils also. */ |
Line 167... | Line 171... | ||
167 | java_demangle_v3 (const char *mangled); |
171 | java_demangle_v3 (const char *mangled); |
Line 168... | Line 172... | ||
168 | 172 | ||
169 | char * |
173 | char * |
Line -... | Line 174... | ||
- | 174 | ada_demangle (const char *mangled, int options); |
|
- | 175 | ||
- | 176 | extern char * |
|
170 | ada_demangle (const char *mangled, int options); |
177 | dlang_demangle (const char *mangled, int options); |
171 | 178 | ||
172 | enum gnu_v3_ctor_kinds { |
179 | enum gnu_v3_ctor_kinds { |
173 | gnu_v3_complete_object_ctor = 1, |
180 | gnu_v3_complete_object_ctor = 1, |
- | 181 | gnu_v3_base_object_ctor, |
|
- | 182 | gnu_v3_complete_object_allocating_ctor, |
|
- | 183 | /* These are not part of the V3 ABI. Unified constructors are generated |
|
- | 184 | as a speed-for-space optimization when the -fdeclone-ctor-dtor option |
|
174 | gnu_v3_base_object_ctor, |
185 | is used, and are always internal symbols. */ |
175 | gnu_v3_complete_object_allocating_ctor, |
186 | gnu_v3_unified_ctor, |
Line 176... | Line 187... | ||
176 | gnu_v3_object_ctor_group |
187 | gnu_v3_object_ctor_group |
177 | }; |
188 | }; |
Line 186... | Line 197... | ||
186 | 197 | ||
187 | enum gnu_v3_dtor_kinds { |
198 | enum gnu_v3_dtor_kinds { |
188 | gnu_v3_deleting_dtor = 1, |
199 | gnu_v3_deleting_dtor = 1, |
189 | gnu_v3_complete_object_dtor, |
200 | gnu_v3_complete_object_dtor, |
- | 201 | gnu_v3_base_object_dtor, |
|
- | 202 | /* These are not part of the V3 ABI. Unified destructors are generated |
|
- | 203 | as a speed-for-space optimization when the -fdeclone-ctor-dtor option |
|
- | 204 | is used, and are always internal symbols. */ |
|
190 | gnu_v3_base_object_dtor, |
205 | gnu_v3_unified_dtor, |
191 | gnu_v3_object_dtor_group |
206 | gnu_v3_object_dtor_group |
Line 192... | Line 207... | ||
192 | }; |
207 | }; |
193 | 208 | ||
Line 363... | Line 378... | ||
363 | the name of the extended operator. */ |
378 | the name of the extended operator. */ |
364 | DEMANGLE_COMPONENT_EXTENDED_OPERATOR, |
379 | DEMANGLE_COMPONENT_EXTENDED_OPERATOR, |
365 | /* A typecast, represented as a unary operator. The one subtree is |
380 | /* A typecast, represented as a unary operator. The one subtree is |
366 | the type to which the argument should be cast. */ |
381 | the type to which the argument should be cast. */ |
367 | DEMANGLE_COMPONENT_CAST, |
382 | DEMANGLE_COMPONENT_CAST, |
- | 383 | /* A conversion operator, represented as a unary operator. The one |
|
- | 384 | subtree is the type to which the argument should be converted |
|
- | 385 | to. */ |
|
- | 386 | DEMANGLE_COMPONENT_CONVERSION, |
|
368 | /* A nullary expression. The left subtree is the operator. */ |
387 | /* A nullary expression. The left subtree is the operator. */ |
369 | DEMANGLE_COMPONENT_NULLARY, |
388 | DEMANGLE_COMPONENT_NULLARY, |
370 | /* A unary expression. The left subtree is the operator, and the |
389 | /* A unary expression. The left subtree is the operator, and the |
371 | right subtree is the single argument. */ |
390 | right subtree is the single argument. */ |
372 | DEMANGLE_COMPONENT_UNARY, |
391 | DEMANGLE_COMPONENT_UNARY, |