summaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2020-05-15 09:34:36 +0200
committerIain Buclaw <ibuclaw@gdcproject.org>2020-05-15 10:40:47 +0200
commit3a55774f0b67645efc54fa1ac8f0053053d566dd (patch)
treed5b67393ce3703f6c8a37d7fd9bf697b2259eaa7 /libiberty
parentf8b0665445bee8673b62c0a40ae257fe8c75a9b6 (diff)
downloadgcc-3a55774f0b67645efc54fa1ac8f0053053d566dd.tar.gz
libiberty: Handle @live attribute in D demangler.
Adds support for demangling D functions annotated with the new ownership/borrowing system attribute. libiberty/ChangeLog: * d-demangle.c (dlang_attributes): Add @live attribute. * testsuite/d-demangle-expected: Add new tests.
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/ChangeLog5
-rw-r--r--libiberty/d-demangle.c4
-rw-r--r--libiberty/testsuite/d-demangle-expected8
3 files changed, 17 insertions, 0 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 74c515b4b90..45dcc6d614f 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,8 @@
+2020-05-15 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-demangle.c (dlang_attributes): Add @live attribute.
+ * testsuite/d-demangle-expected: Add new tests.
+
2020-05-14 Rainer Schuetze <r.sagitario@gmx.de>
Iain Buclaw <ibuclaw@gdcproject.org>
diff --git a/libiberty/d-demangle.c b/libiberty/d-demangle.c
index 5856bc2930f..f2d6946ecad 100644
--- a/libiberty/d-demangle.c
+++ b/libiberty/d-demangle.c
@@ -578,6 +578,10 @@ dlang_attributes (string *decl, const char *mangled)
mangled++;
string_append (decl, "scope ");
continue;
+ case 'm': /* @live */
+ mangled++;
+ string_append (decl, "@live ");
+ continue;
default: /* unknown attribute */
return NULL;
diff --git a/libiberty/testsuite/d-demangle-expected b/libiberty/testsuite/d-demangle-expected
index 47b24ea48ae..e3f32e31d7b 100644
--- a/libiberty/testsuite/d-demangle-expected
+++ b/libiberty/testsuite/d-demangle-expected
@@ -462,6 +462,10 @@ _D8demangle4testFDFNiZaZv
demangle.test(char() @nogc delegate)
#
--format=dlang
+_D8demangle4testFDFNmZaZv
+demangle.test(char() @live delegate)
+#
+--format=dlang
_D8demangle4testFDFNaNbZaZv
demangle.test(char() pure nothrow delegate)
#
@@ -538,6 +542,10 @@ _D8demangle4testFPFNiZaZv
demangle.test(char() @nogc function)
#
--format=dlang
+_D8demangle4testFPFNmZaZv
+demangle.test(char() @live function)
+#
+--format=dlang
_D8demangle4testFPFNaNbZaZv
demangle.test(char() pure nothrow function)
#