[PATCH] MS ABI: Implement copy-ctor closures, finish implementing throw

David Majnemer david.majnemer at gmail.com
Tue Mar 10 13:08:56 PDT 2015


Hi rnk,

This adds support for copy-constructor closures.  These are generated
when the C++ runtime has to call a copy-constructor with a particular
calling convention or with default arguments substituted in to the call.

Because the runtime has no mechanism to call the function with a
different calling convention or know-how to evaluate the default
arguments at run-time, we create a thunk which will do all the
appropriate work and package it in a way the runtime can use.

http://reviews.llvm.org/D8225

Files:
  include/clang/AST/ASTContext.h
  include/clang/AST/Mangle.h
  include/clang/Basic/ABI.h
  lib/AST/ASTContext.cpp
  lib/AST/CXXABI.h
  lib/AST/ItaniumCXXABI.cpp
  lib/AST/ItaniumMangle.cpp
  lib/AST/MicrosoftCXXABI.cpp
  lib/AST/MicrosoftMangle.cpp
  lib/CodeGen/CGCall.cpp
  lib/CodeGen/CodeGenTypes.h
  lib/CodeGen/MicrosoftCXXABI.cpp
  lib/Sema/SemaExprCXX.cpp
  test/CodeGenCXX/microsoft-abi-throw.cpp

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8225.21621.patch
Type: text/x-patch
Size: 27297 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150310/03dc0c56/attachment.bin>


More information about the cfe-commits mailing list