1,6 → 1,5 |
/* Defs for interface to demanglers. |
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, |
2003, 2004, 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
Copyright (C) 1992-2015 Free Software Foundation, Inc. |
|
This program is free software; you can redistribute it and/or |
modify it under the terms of the GNU Library General Public License |
63,9 → 62,10 |
#define DMGL_EDG (1 << 13) |
#define DMGL_GNU_V3 (1 << 14) |
#define DMGL_GNAT (1 << 15) |
#define DMGL_DLANG (1 << 16) |
|
/* If none of these are set, use 'current_demangling_style' as the default. */ |
#define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT) |
#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) |
|
/* Enumeration of possible demangling styles. |
|
87,7 → 87,8 |
edg_demangling = DMGL_EDG, |
gnu_v3_demangling = DMGL_GNU_V3, |
java_demangling = DMGL_JAVA, |
gnat_demangling = DMGL_GNAT |
gnat_demangling = DMGL_GNAT, |
dlang_demangling = DMGL_DLANG |
} current_demangling_style; |
|
/* Define string names for the various demangling styles. */ |
102,6 → 103,7 |
#define GNU_V3_DEMANGLING_STYLE_STRING "gnu-v3" |
#define JAVA_DEMANGLING_STYLE_STRING "java" |
#define GNAT_DEMANGLING_STYLE_STRING "gnat" |
#define DLANG_DEMANGLING_STYLE_STRING "dlang" |
|
/* Some macros to test what demangling style is active. */ |
|
115,6 → 117,7 |
#define GNU_V3_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNU_V3) |
#define JAVA_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_JAVA) |
#define GNAT_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNAT) |
#define DLANG_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_DLANG) |
|
/* Provide information about the available demangle styles. This code is |
pulled from gdb into libiberty because it is useful to binutils also. */ |
169,10 → 172,17 |
char * |
ada_demangle (const char *mangled, int options); |
|
extern char * |
dlang_demangle (const char *mangled, int options); |
|
enum gnu_v3_ctor_kinds { |
gnu_v3_complete_object_ctor = 1, |
gnu_v3_base_object_ctor, |
gnu_v3_complete_object_allocating_ctor, |
/* These are not part of the V3 ABI. Unified constructors are generated |
as a speed-for-space optimization when the -fdeclone-ctor-dtor option |
is used, and are always internal symbols. */ |
gnu_v3_unified_ctor, |
gnu_v3_object_ctor_group |
}; |
|
188,6 → 198,10 |
gnu_v3_deleting_dtor = 1, |
gnu_v3_complete_object_dtor, |
gnu_v3_base_object_dtor, |
/* These are not part of the V3 ABI. Unified destructors are generated |
as a speed-for-space optimization when the -fdeclone-ctor-dtor option |
is used, and are always internal symbols. */ |
gnu_v3_unified_dtor, |
gnu_v3_object_dtor_group |
}; |
|