Subversion Repositories Kolibri OS

Rev

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,