llvm-project/clang/lib/Sema
Ben Langmuir 3b4c30b7e7 CodeGen for CapturedStmts
EmitCapturedStmt creates a captured struct containing all of the captured
variables, and then emits a call to the outlined function.  This is similar in
principle to EmitBlockLiteral.

GenerateCapturedFunction actually produces the outlined function.  It is based
on GenerateBlockFunction, but is much simpler.  The function type is determined
by the parameters that are in the CapturedDecl.

Some changes have been added to this patch that were reviewed as part of the
serialization patch and moving the parameters to the captured decl.

Differential Revision: http://llvm-reviews.chandlerc.com/D640

llvm-svn: 181536
2013-05-09 19:17:11 +00:00
..
AnalysisBasedWarnings.cpp Thread safety analysis: turn on checking within lock and unlock functions. 2013-04-08 20:11:11 +00:00
AttributeList.cpp Basic support for Microsoft property declarations and 2013-04-16 07:28:30 +00:00
CMakeLists.txt OpenMP threadprivate directive parsing and semantic analysis 2013-03-22 06:34:35 +00:00
CodeCompleteConsumer.cpp Allow the computation of the base priority for a declaration code completion result to consider the completion context 2013-01-31 04:52:16 +00:00
DeclSpec.cpp Fix PR15845: apparently MSVC does not support implicit int in C++ mode. 2013-04-30 22:43:51 +00:00
DelayedDiagnostic.cpp objective-C: when diagnosing deprecated/unavailable usage of 2012-09-21 20:46:37 +00:00
IdentifierResolver.cpp [Modules] Cope better with top-level declarations loaded after being declared in the current translation unit <rdar://problem/13189985>. 2013-02-11 18:16:18 +00:00
JumpDiagnostics.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
Makefile
MultiplexExternalSemaSource.cpp Simplify FindExternalVisibleDeclsByName by making it return a bool indicating 2013-02-07 03:30:24 +00:00
Scope.cpp Reapply r151638 and r151641. 2012-02-29 10:24:19 +00:00
ScopeInfo.cpp Sema for Captured Statements 2013-04-16 19:37:38 +00:00
Sema.cpp Add missing initialization for Sema::CurScope. This is important for AST consumers which don't create a Parser. Pointed out by Tom Honermann. 2013-05-06 21:35:35 +00:00
SemaAccess.cpp Test commit 2013-05-07 16:56:03 +00:00
SemaAttr.cpp Forward #pragma comment(lib/linker) through as flags metadata 2013-05-08 13:44:39 +00:00
SemaCXXScopeSpec.cpp Remove some no-op static_casts. 2013-03-26 00:54:11 +00:00
SemaCast.cpp Grab-bag of bit-field fixes: 2013-05-06 21:39:12 +00:00
SemaChecking.cpp Grab-bag of bit-field fixes: 2013-05-06 21:39:12 +00:00
SemaCodeComplete.cpp Enhance the ObjC global method pool to record whether there were 0, 1, or >= 2 methods (with a particular selector) inside categories. 2013-04-17 00:08:58 +00:00
SemaConsumer.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:48:34 +00:00
SemaDecl.cpp Try to recognise hidden tag type names in potential declarations, in ObjC code as well. 2013-05-07 19:54:28 +00:00
SemaDeclAttr.cpp ArrayRef'ize InitializationSequence constructor and InitializationSequence::Diagnose() 2013-05-03 15:05:50 +00:00
SemaDeclCXX.cpp C++1y: an assignment operator is implicitly 'constexpr' if it would only call 'constexpr' assignment operators for a literal class type. 2013-05-07 03:19:20 +00:00
SemaDeclObjC.cpp Keep track of an @implementation's super class name location, if one was provided. 2013-05-03 18:05:44 +00:00
SemaExceptionSpec.cpp C++1y: Allow aggregates to have default initializers. 2013-04-20 22:23:05 +00:00
SemaExpr.cpp CodeGen for CapturedStmts 2013-05-09 19:17:11 +00:00
SemaExprCXX.cpp Replace 'MultiExprArg()' with 'None' 2013-05-05 20:40:26 +00:00
SemaExprMember.cpp When typo correction produces an overloaded result when looking up a member, 2013-05-07 22:14:37 +00:00
SemaExprObjC.cpp ArrayRef'ize Sema::CheckObjCMethodCall 2013-05-05 19:42:09 +00:00
SemaFixItUtils.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaInit.cpp Grab-bag of bit-field fixes: 2013-05-06 21:39:12 +00:00
SemaLambda.cpp In block enum-return inference, don't die on loads of enum lvalues. 2013-05-08 03:34:22 +00:00
SemaLookup.cpp Replace ArrayRef<T>() with None, now that we have an implicit ArrayRef constructor from None 2013-05-05 00:41:58 +00:00
SemaObjCProperty.cpp Replace ArrayRef<T>() with None, now that we have an implicit ArrayRef constructor from None 2013-05-05 00:41:58 +00:00
SemaOpenMP.cpp Annotate flavor of TLS variable (statically or dynamically initialized) onto the AST. 2013-04-13 02:43:54 +00:00
SemaOverload.cpp Grab-bag of bit-field fixes: 2013-05-06 21:39:12 +00:00
SemaPseudoObject.cpp Replace 'MultiExprArg()' with 'None' 2013-05-05 20:40:26 +00:00
SemaStmt.cpp Implement most of N3638 (return type deduction for normal functions). 2013-05-04 07:00:32 +00:00
SemaStmtAsm.cpp Move parsing of identifiers in MS-style inline assembly into 2013-05-03 00:10:13 +00:00
SemaStmtAttr.cpp PR15300: Support C++11 attributes on base-specifiers. We don't support any such 2013-02-19 23:47:15 +00:00
SemaTemplate.cpp When modifying an implicit instantiation with information from an explicit one, make sure to reset the "right brace" location. 2013-04-22 23:23:42 +00:00
SemaTemplateDeduction.cpp Implement most of N3638 (return type deduction for normal functions). 2013-05-04 07:00:32 +00:00
SemaTemplateInstantiate.cpp Sema: Give a typically small DenseMap some inline capacity. 2013-04-12 15:22:25 +00:00
SemaTemplateInstantiateDecl.cpp In VarDecl nodes, store the thread storage class specifier as written. 2013-05-04 08:27:07 +00:00
SemaTemplateVariadic.cpp Implement C++1y decltype(auto). 2013-04-26 16:15:35 +00:00
SemaType.cpp Implement most of N3638 (return type deduction for normal functions). 2013-05-04 07:00:32 +00:00
TargetAttributesSema.cpp PR14922: when printing an attribute, use the real syntax of the attribute (GNU, C++11, MS Declspec) instead of hardcoded GNU syntax. 2013-01-24 16:46:58 +00:00
TargetAttributesSema.h Revert r170500. It over-zealously converted *ALL* things named Attributes, which is wrong here. 2012-12-20 19:22:21 +00:00
TreeTransform.h Replace 'MultiExprArg()' with 'None' 2013-05-05 20:40:26 +00:00
TypeLocBuilder.h Replace TypeLoc llvm::cast support to be well-defined. 2013-02-18 22:06:02 +00:00