diff mbox

[1/7,D] libiberty: Add support for demangling scope attributes.

Message ID CABOHX+esckkKfCEy+7Swi5RMrNcZZRiTmpvF1878ZvCfhZW3Fw@mail.gmail.com
State New
Headers show

Commit Message

Iain Buclaw April 15, 2017, 3:19 p.m. UTC
The next version of D adds a new `scope' function attribute.  This
adds support for demangling them.

---

Comments

Jeff Law April 24, 2017, 9:22 p.m. UTC | #1
On 04/15/2017 09:19 AM, Iain Buclaw wrote:
> The next version of D adds a new `scope' function attribute.  This
> adds support for demangling them.
> 
> ---
> 
> 
> 01-d-demangle-scope-postfix.patch
> 
> 
> commit 15a0592cf6403fccbf43f3c7dc44f7d22c0f3dfa
> Author: Iain Buclaw<ibuclaw@gdcproject.org>
> Date:   Sat Apr 15 11:15:41 2017 +0200
> 
>      libiberty/ChangeLog:
>      
>      2017-04-15  Iain Buclaw<ibuclaw@gdcproject.org>
>      
>      	* d-demangle.c (dlang_attributes): Handle scope attributes.
>      	* testsuite/d-demangle-expected: Add tests.
OK for the trunk.
jeff
diff mbox

Patch

commit 15a0592cf6403fccbf43f3c7dc44f7d22c0f3dfa
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Sat Apr 15 11:15:41 2017 +0200

    libiberty/ChangeLog:
    
    2017-04-15  Iain Buclaw  <ibuclaw@gdcproject.org>
    
    	* d-demangle.c (dlang_attributes): Handle scope attributes.
    	* testsuite/d-demangle-expected: Add tests.

diff --git a/libiberty/d-demangle.c b/libiberty/d-demangle.c
index 12457f0..af7c63d 100644
--- a/libiberty/d-demangle.c
+++ b/libiberty/d-demangle.c
@@ -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;
diff --git a/libiberty/testsuite/d-demangle-expected b/libiberty/testsuite/d-demangle-expected
index 04d39f4..57f7c52 100644
--- a/libiberty/testsuite/d-demangle-expected
+++ b/libiberty/testsuite/d-demangle-expected
@@ -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$
 #