[llvm] 9c2de23 - Demangle: correct swift_async demangling for Microsoft scheme

Saleem Abdulrasool via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 14 11:43:52 PDT 2021


Author: Saleem Abdulrasool
Date: 2021-07-14T11:43:44-07:00
New Revision: 9c2de2382197109388a25c9486f0e4408896d36e

URL: https://github.com/llvm/llvm-project/commit/9c2de2382197109388a25c9486f0e4408896d36e
DIFF: https://github.com/llvm/llvm-project/commit/9c2de2382197109388a25c9486f0e4408896d36e.diff

LOG: Demangle: correct swift_async demangling for Microsoft scheme

The emission was corrected for the swift_async calling convention but
the demangling support was not.  This repairs the demangling support as
well.

Added: 
    

Modified: 
    llvm/lib/Demangle/MicrosoftDemangle.cpp
    llvm/test/Demangle/ms-mangle.test

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Demangle/MicrosoftDemangle.cpp b/llvm/lib/Demangle/MicrosoftDemangle.cpp
index a98d9fe45fe18..303207176be71 100644
--- a/llvm/lib/Demangle/MicrosoftDemangle.cpp
+++ b/llvm/lib/Demangle/MicrosoftDemangle.cpp
@@ -1713,7 +1713,7 @@ CallingConv Demangler::demangleCallingConvention(StringView &MangledName) {
     return CallingConv::Vectorcall;
   case 'S':
     return CallingConv::Swift;
-  case 'T':
+  case 'W':
     return CallingConv::SwiftAsync;
   }
 

diff  --git a/llvm/test/Demangle/ms-mangle.test b/llvm/test/Demangle/ms-mangle.test
index 6995d70196665..0eee2be9097fa 100644
--- a/llvm/test/Demangle/ms-mangle.test
+++ b/llvm/test/Demangle/ms-mangle.test
@@ -341,7 +341,7 @@
 ?swift_func@@YSXXZ
 ; CHECK: void __attribute__((__swiftcall__)) swift_func(void)
 
-?swift_async_func@@YTXXZ
+?swift_async_func@@YWXXZ
 ; CHECK: void __attribute__((__swiftasynccall__)) swift_async_func(void)
 
 ??$fn_tmpl@$1?extern_c_func@@YAXXZ@@YAXXZ


        


More information about the llvm-commits mailing list