d-demangle.c (dlang_attributes): Handle scope attributes.
authorIain Buclaw <ibuclaw@gdcproject.org>
Mon, 1 May 2017 10:39:52 +0000 (10:39 +0000)
committerIain Buclaw <ibuclaw@gcc.gnu.org>
Mon, 1 May 2017 10:39:52 +0000 (10:39 +0000)
libiberty/ChangeLog:

* d-demangle.c (dlang_attributes): Handle scope attributes.
* testsuite/d-demangle-expected: Add tests.

From-SVN: r247432

libiberty/ChangeLog
libiberty/d-demangle.c
libiberty/testsuite/d-demangle-expected

index 1e7a6c6daca332f4db8c7a2c2b182e3155422901..d4c054ffe832ec609276275664cf64bf8067fc27 100644 (file)
@@ -1,3 +1,8 @@
+2017-05-01  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-demangle.c (dlang_attributes): Handle scope attributes.
+       * testsuite/d-demangle-expected: Add tests.
+
 2017-04-27  Jonathan Wakely  <jwakely@redhat.com>
 
        PR demangler/80513
index 12457f003b11b66e466597f3ad55368c431d20c9..af7c63d10868f24704619f1cc27e746e205a2ce5 100644 (file)
@@ -327,6 +327,10 @@ dlang_attributes (string *decl, const char *mangled)
          mangled++;
          string_append (decl, "return ");
          continue;
+       case 'l': /* scope */
+         mangled++;
+         string_append (decl, "scope ");
+         continue;
 
        default: /* unknown attribute */
          return NULL;
index 04d39f41015e93c7c20f02afdde3af7de65282fe..57f7c52331b123704fbcec08d5a1dc6318af19fa 100644 (file)
@@ -330,6 +330,10 @@ _D8demangle4testFNkaZv
 demangle.test(return char)
 #
 --format=dlang
+_D8demangle4testFNlaZv
+demangle.test(char)
+#
+--format=dlang
 _D8demangle4testFaXv
 demangle.test(char...)
 #
@@ -478,6 +482,26 @@ _D8demangle4testFNjNkDFNjZaZv
 demangle.test(return char() return delegate)
 #
 --format=dlang
+_D8demangle4testFNlDFZaZv
+demangle.test(char() delegate)
+#
+--format=dlang
+_D8demangle4testFMDFZaZv
+demangle.test(scope char() delegate)
+#
+--format=dlang
+_D8demangle4testFDFNlZaZv
+demangle.test(char() scope delegate)
+#
+--format=dlang
+_D8demangle4testFMDFNlZaZv
+demangle.test(scope char() scope delegate)
+#
+--format=dlang
+_D8demangle4testFNlMDFNlZaZv
+demangle.test(scope char() scope delegate)
+#
+--format=dlang
 _D8demangle4testFPFNaZaZv
 demangle.test(char() pure function)
 #
@@ -534,6 +558,26 @@ _D8demangle4testFNjNkPFNjZaZv
 demangle.test(return char() return function)
 #
 --format=dlang
+_D8demangle4testFNlPFZaZv
+demangle.test(char() function)
+#
+--format=dlang
+_D8demangle4testFMPFZaZv
+demangle.test(scope char() function)
+#
+--format=dlang
+_D8demangle4testFPFNlZaZv
+demangle.test(char() scope function)
+#
+--format=dlang
+_D8demangle4testFMPFNlZaZv
+demangle.test(scope char() scope function)
+#
+--format=dlang
+_D8demangle4testFNlMPFNlZaZv
+demangle.test(scope char() scope function)
+#
+--format=dlang
 _D8demangle4test6__initZ
 demangle.test.init$
 #