[PATCH] D95561: [Clang] Introduce Swift async calling convention.

John McCall via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 2 12:25:39 PST 2021


rjmccall added a comment.

Broadly LGTM



================
Comment at: clang/include/clang/Basic/AttrDocs.td:4398
+  let Content = [{
+    TODO
+  }];
----------------
varungandhi-apple wrote:
> I have left this as a TODO for now, so that it can be filled in later when the exact details of the convention are implemented in LLVM.
We don't generally put precise CC details in this kind of documentation; the goal is to describe the calling convention at a high level.  Here, you should describe it as being compatible with the low-level conventions of Swift async functions, provided it declares the right formal arguments.  You should also talk about the special-case treatment of tail calls, especially the extension which adds `return (void)` to all language modes.


================
Comment at: clang/lib/AST/MicrosoftMangle.cpp:2711
+      Out << 'T';
+      break;
     case CC_PreserveMost: Out << 'U'; break;
----------------
Please use consistent formatting with the other cases, here and elsewhere.  Keeping the switch compact is better for readability than following an abstract style rule.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D95561/new/

https://reviews.llvm.org/D95561



More information about the llvm-commits mailing list