]> gcc.gnu.org Git - gcc.git/commitdiff
d-demangle.c (dlang_call_convention): Handle extern Objective-C function calling...
authorIain Buclaw <ibuclaw@gdcproject.org>
Wed, 27 Jan 2016 01:07:26 +0000 (01:07 +0000)
committerIain Buclaw <ibuclaw@gcc.gnu.org>
Wed, 27 Jan 2016 01:07:26 +0000 (01:07 +0000)
libiberty/ChangeLog:

2016-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>

* d-demangle.c (dlang_call_convention): Handle extern Objective-C
function calling convention.
(dlang_call_convention_p): Likewise.
(dlang_type): Likewise.
* testsuite/d-demangle-expected: Add coverage tests.

From-SVN: r232864

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

index 88422c548156b0a6da2764a6240334ab5daa889e..d11f4cea099e6b7c4154780ac322981826a5d54e 100644 (file)
@@ -1,3 +1,11 @@
+2016-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-demangle.c (dlang_call_convention): Handle extern Objective-C
+       function calling convention.
+       (dlang_call_convention_p): Likewise.
+       (dlang_type): Likewise.
+       * testsuite/d-demangle-expected: Add coverage tests.
+
 2016-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
 
        * d-demangle.c (dlang_function_args): Append ',' for variadic functions
index 9e5a80439f57cd00c6f36172b84c11f8f4c5eecc..4ad90a6c58c3f7583fc21079fb5ac264a3c60b31 100644 (file)
@@ -223,6 +223,10 @@ dlang_call_convention (string *decl, const char *mangled)
       mangled++;
       string_append (decl, "extern(C++) ");
       break;
+    case 'Y': /* (Objective-C) */
+      mangled++;
+      string_append (decl, "extern(Objective-C) ");
+      break;
     default:
       return NULL;
     }
@@ -539,7 +543,7 @@ dlang_type (string *decl, const char *mangled)
       switch (*mangled)
        {
        case 'F': case 'U': case 'W':
-       case 'V': case 'R':
+       case 'V': case 'R': case 'Y':
          mangled = dlang_function_type (decl, mangled);
          string_append (decl, "function");
          return mangled;
@@ -1338,7 +1342,7 @@ dlang_call_convention_p (const char *mangled)
   switch (*mangled)
     {
     case 'F': case 'U': case 'V':
-    case 'W': case 'R':
+    case 'W': case 'R': case 'Y':
       return 1;
 
     default:
index 8f0b167142c548cadfef0c5e48c78a8e90367f27..04d39f41015e93c7c20f02afdde3af7de65282fe 100644 (file)
@@ -394,6 +394,10 @@ _D8demangle4testFDRZaZv
 demangle.test(extern(C++) char() delegate)
 #
 --format=dlang
+_D8demangle4testFDYZaZv
+demangle.test(extern(Objective-C) char() delegate)
+#
+--format=dlang
 _D8demangle4testFPFZaZv
 demangle.test(char() function)
 #
@@ -414,6 +418,10 @@ _D8demangle4testFPRZaZv
 demangle.test(extern(C++) char() function)
 #
 --format=dlang
+_D8demangle4testFPYZaZv
+demangle.test(extern(Objective-C) char() function)
+#
+--format=dlang
 _D8demangle4testFDFNaZaZv
 demangle.test(char() pure delegate)
 #
This page took 0.077001 seconds and 5 git commands to generate.