[clang] 7a20670 - AST: correct name decoration for swift async functions on Windows
Saleem Abdulrasool via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 13 10:04:19 PDT 2021
Author: Saleem Abdulrasool
Date: 2021-07-13T10:04:11-07:00
New Revision: 7a20670d168af31ef77209f43ca0622800ce513a
URL: https://github.com/llvm/llvm-project/commit/7a20670d168af31ef77209f43ca0622800ce513a
DIFF: https://github.com/llvm/llvm-project/commit/7a20670d168af31ef77209f43ca0622800ce513a.diff
LOG: AST: correct name decoration for swift async functions on Windows
The name decoration scheme on Windows does not have a vendor namespace,
and the decoration scheme is not shared ownership - it is controlled by
Microsoft. `T` is a reserved identifier for an unknown calling
convention. The `W` identifier has been discussed with Microsoft
offline and is reserved as `Swift_3` as the identifier for the swift
async calling convention. Adjust the name decoration accordingly.
Added:
Modified:
clang/lib/AST/MicrosoftMangle.cpp
Removed:
################################################################################
diff --git a/clang/lib/AST/MicrosoftMangle.cpp b/clang/lib/AST/MicrosoftMangle.cpp
index fe10ce5bc0efd..d89cddd2adda0 100644
--- a/clang/lib/AST/MicrosoftMangle.cpp
+++ b/clang/lib/AST/MicrosoftMangle.cpp
@@ -2749,7 +2749,7 @@ void MicrosoftCXXNameMangler::mangleCallingConvention(CallingConv CC) {
case CC_X86FastCall: Out << 'I'; break;
case CC_X86VectorCall: Out << 'Q'; break;
case CC_Swift: Out << 'S'; break;
- case CC_SwiftAsync: Out << 'T'; break;
+ case CC_SwiftAsync: Out << 'W'; break;
case CC_PreserveMost: Out << 'U'; break;
case CC_X86RegCall: Out << 'w'; break;
}
More information about the cfe-commits
mailing list