summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-23 18:36:14 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-23 18:36:14 +0000
commit23c22e011dfc2d85c94b55d43f6334f723fad09d (patch)
tree2fadd5830c2d708e5dd314b70206728b68cc62de /include
parent7fb36be3441dec900fc151139fcf7d84b8caff9d (diff)
downloadgcc-23c22e011dfc2d85c94b55d43f6334f723fad09d.tar.gz
include/:
* demangle.h (DMGL_DLANG): New macro. (DMGL_STYLE_MASK): Add DMGL_DLANG. (demangling_styles): Add dlang_demangling. (DLANG_DEMANGLING_STYLE_STRING): New macro. (DLANG_DEMANGLING): New macro. (dlang_demangle): New prototype. libiberty/: * Makefile.in (CFILES): Add d-demangle.c. (REQUIRED_OFILES): Add d-demangle.o. * cplus-dem.c (libiberty_demanglers): Add dlang_demangling case. (cplus_demangle): Likewise. * d-demangle.c: New file. * testsuite/Makefile.in (really-check): Add check-d-demangle. * testsuite/d-demangle-expected: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215530 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog9
-rw-r--r--include/demangle.h11
2 files changed, 18 insertions, 2 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index a3b6a28b947..88176beda19 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,12 @@
+2014-09-23 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * demangle.h (DMGL_DLANG): New macro.
+ (DMGL_STYLE_MASK): Add DMGL_DLANG.
+ (demangling_styles): Add dlang_demangling.
+ (DLANG_DEMANGLING_STYLE_STRING): New macro.
+ (DLANG_DEMANGLING): New macro.
+ (dlang_demangle): New prototype.
+
2014-09-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* longlong.h: Add __udiv_w_sdiv prototype.
diff --git a/include/demangle.h b/include/demangle.h
index bbad71bd8c7..d2a6731a9ee 100644
--- a/include/demangle.h
+++ b/include/demangle.h
@@ -63,9 +63,10 @@ extern "C" {
#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 +88,8 @@ extern enum demangling_styles
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 +104,7 @@ extern enum demangling_styles
#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 +118,7 @@ extern enum demangling_styles
#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,6 +173,9 @@ java_demangle_v3 (const char *mangled);
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,