llvm-project/clang/lib/AST
David Majnemer dfa6d2067c MS ABI: Implement copy-ctor closures, finish implementing throw
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.

Differential Revision: http://reviews.llvm.org/D8225

llvm-svn: 231952
2015-03-11 18:36:39 +00:00
..
APValue.cpp Simplify creation of a bunch of ArrayRefs by using None, makeArrayRef or just letting them be implicitly created. 2014-08-27 06:28:36 +00:00
ASTConsumer.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
ASTContext.cpp MS ABI: Implement copy-ctor closures, finish implementing throw 2015-03-11 18:36:39 +00:00
ASTDiagnostic.cpp Update assumption in template diffing about integer template arguments. 2015-02-26 02:40:48 +00:00
ASTDumper.cpp Enhance printing SizeOfPackExpr in dump. 2015-02-16 19:58:41 +00:00
ASTImporter.cpp Rename RefersToCapturedVariable to RefersToEnclosingVariableOrCapture, NFC 2015-01-12 10:17:46 +00:00
ASTTypeTraits.cpp Fix bug in DynTypedMatcher::constructVariadic() that would cause false negatives. 2014-10-06 13:14:30 +00:00
AttrImpl.cpp Refactor the Microsoft inheritance attribute handling so that it no longer has special treatment. Also fixes a minor bug where the attributes were being parsed as though they were GNU-style attributes when they were in fact keyword attributes. 2013-12-18 23:44:18 +00:00
CMakeLists.txt MS ABI: Don't use the Itanium scheme for numbering lambdas 2014-08-22 04:22:50 +00:00
CXXABI.h MS ABI: Implement copy-ctor closures, finish implementing throw 2015-03-11 18:36:39 +00:00
CXXInheritance.cpp CXXInheritance: Modernize removal of hidden virtual base class decls. 2015-02-11 19:09:16 +00:00
Comment.cpp Use llvm::makeArrayRef instead of explicitly calling ArrayRef constructor and mentioning the type. This works now that we have a conversion from ArrayRef<T*> to ArrayRef<const T*>. 2014-08-30 16:55:39 +00:00
CommentBriefParser.cpp Some refactoring in my patch on document 2013-03-02 02:39:57 +00:00
CommentCommandTraits.cpp Fix for PR21254 - Assertion in comment parser 2014-10-15 16:18:20 +00:00
CommentLexer.cpp Fix some cases where StringRef was being passed by const reference. Remove const from some other StringRefs since its implicitly const already. 2014-08-30 16:55:52 +00:00
CommentParser.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
CommentSema.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
Decl.cpp Replace Sema's map of locally-scoped extern "C" declarations with a DeclContext 2015-03-07 00:04:49 +00:00
DeclBase.cpp Replace Sema's map of locally-scoped extern "C" declarations with a DeclContext 2015-03-07 00:04:49 +00:00
DeclCXX.cpp [modules] Don't clobber a destructor's operator delete when adding another one; 2015-03-10 01:41:22 +00:00
DeclFriend.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
DeclGroup.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
DeclObjC.cpp revert r231700 (designated initializer patch) which broke 2015-03-11 16:59:48 +00:00
DeclOpenMP.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
DeclPrinter.cpp Objective-C. Assortment of improvements pretty printing 2014-10-03 20:05:33 +00:00
DeclTemplate.cpp [modules] Ensure we've imported all declarations of a template before 2015-02-24 02:44:23 +00:00
DeclarationName.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
Expr.cpp Use delegating ctors to reduce code duplication. NFC. 2015-03-06 14:15:57 +00:00
ExprCXX.cpp Sema: Parenthesized bound destructor member expressions can be called 2015-02-25 17:36:15 +00:00
ExprClassification.cpp Sema: Parenthesized bound destructor member expressions can be called 2015-02-25 17:36:15 +00:00
ExprConstant.cpp Make helper functions static. NFC. 2015-03-09 16:47:52 +00:00
ExternalASTSource.cpp Move virtual methods out of line. 2014-05-21 14:19:22 +00:00
InheritViz.cpp InheritViz: Hide implementation details 2015-03-09 15:03:20 +00:00
ItaniumCXXABI.cpp MS ABI: Implement copy-ctor closures, finish implementing throw 2015-03-11 18:36:39 +00:00
ItaniumMangle.cpp MS ABI: Implement copy-ctor closures, finish implementing throw 2015-03-11 18:36:39 +00:00
Makefile
Mangle.cpp This patch fixes a crash involving use of predefined 2014-12-02 18:42:51 +00:00
MicrosoftCXXABI.cpp MS ABI: Implement copy-ctor closures, finish implementing throw 2015-03-11 18:36:39 +00:00
MicrosoftMangle.cpp MS ABI: Implement copy-ctor closures, finish implementing throw 2015-03-11 18:36:39 +00:00
NSAPI.cpp New ObjC warning: circular containers. 2015-03-04 17:55:52 +00:00
NestedNameSpecifier.cpp -ms-extensions: Implement __super scope specifier (PR13236). 2014-09-26 00:28:20 +00:00
ParentMap.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
RawCommentList.cpp Comment parsing: when comment ranges are deserialized from multiple modules, 2014-03-27 15:40:39 +00:00
RecordLayout.cpp CXXInfo memory should be released after calling the destructor 2014-05-24 07:19:25 +00:00
RecordLayoutBuilder.cpp Reland r230446, "MS ABI: Try to respect external AST source record layouts" 2015-02-25 19:17:45 +00:00
SelectorLocationsKind.cpp
Stmt.cpp Various fixes to mangling of list-initialization. 2015-02-05 06:15:50 +00:00
StmtIterator.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
StmtPrinter.cpp Sema: The i8 suffix should yield a literal of type char 2015-03-06 18:04:22 +00:00
StmtProfile.cpp Preserve numeric literal suffixes during type canonicalization. 2014-11-20 03:37:32 +00:00
StmtViz.cpp
TemplateBase.cpp Use APSInt::isSameValue instead of operator== in a place where two APSInt's 2015-01-09 00:58:16 +00:00
TemplateName.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
Type.cpp Simplify boolean expressions in clang with clang-tidy 2015-03-09 02:02:07 +00:00
TypeLoc.cpp Fix initializing TypeOfTypeLoc 2014-10-24 13:52:55 +00:00
TypePrinter.cpp TypePrinter print __restrict if not in C99 mode 2015-03-03 23:58:09 +00:00
VTTBuilder.cpp Update for LLVM API change to make Small(Ptr)Set::insert return pair<iterator, bool> as per the C++ standard's associative container concept. 2014-11-19 07:49:47 +00:00
VTableBuilder.cpp Reland (2x) r230314, "Fix codegen for virtual methods that are (re-) exported from multiple modules." 2015-02-25 19:17:48 +00:00