summaryrefslogtreecommitdiffstats
path: root/clang/test/CXX/expr/expr.prim/expr.prim.lambda/blocks.mm
Commit message (Collapse)AuthorAgeFilesLines
* If capturing a variable fails, add a capture anyway (and mark itRichard Smith2019-05-281-0/+7
| | | | | | invalid) so that we can avoid repeated diagnostics for the same capture. llvm-svn: 361891
* More fixes for isBetterOverloadCandidate not being a strict weak ordering. TheRichard Smith2014-05-171-0/+18
| | | | | | bug was obvious from inspection, figuring out a way to test it was... less so. llvm-svn: 209060
* Switch to the new MingW ABI.Rafael Espindola2013-12-121-1/+1
| | | | | | | GCC 4.7 changed the MingW ABI. On the clang side this means that methods now have the thiscall calling convention by default. llvm-svn: 197164
* PR12057: Allow variadic template pack expansions to cross lambda boundaries.Richard Smith2012-07-251-1/+18
| | | | | | | | | | Rather than adding a ContainsUnexpandedParameterPack bit to essentially every AST node, we tunnel the bit directly up to the surrounding lambda expression when we reach a context where an unexpanded pack can not normally appear. Thus any statement or declaration within a lambda can now potentially contain an unexpanded parameter pack. llvm-svn: 160705
* Check the parameter lists and return type of both blocks and lambdasDouglas Gregor2012-06-151-0/+21
| | | | | | | for unexpanded parameter packs. Fixes the crash-on-invalid in PR13117. llvm-svn: 158525
* Clean up r156925, so that we only mark the capturing DeclRefExpr of aDouglas Gregor2012-05-161-22/+0
| | | | | | | | | lambda as referring to a local in an enclosing scope if we're in the enclosing scope of the lambda (not it's function call operator). Also, turn the test into an IR generation test, since that's where the crashes occurred. Really fixes PR12746 / <rdar://problem/11465120>. llvm-svn: 156926
* Fix code generation of variables reference expressions when mixingDouglas Gregor2012-05-161-0/+22
| | | | | | | blocks and lambdas, based heavily on a patch from Meador Inge. Fixes PR12746 / <rdar://problem/11465120>. llvm-svn: 156925
* Teach overload resolution to prefer user-defined conversion via aDouglas Gregor2012-02-221-0/+31
| | | | | | | | | | lambda closure type's function pointer conversion over user-defined conversion via a lambda closure type's block pointer conversion, always. This is a preference for more-standard code (since blocks are an extension) and a nod to efficiency, since function pointers don't require any memory management. Fixes PR12063. llvm-svn: 151170
* Generate an AST for the conversion from a lambda closure type to aDouglas Gregor2012-02-221-0/+57
block pointer that returns a block literal which captures (by copy) the lambda closure itself. Some aspects of the block literal are left unspecified, namely the capture variable (which doesn't actually exist) and the body (which will be filled in by IRgen because it can't be written as an AST). Because we're switching to this model, this patch also eliminates tracking the copy-initialization expression for the block capture of the conversion function, since that information is now embedded in the synthesized block literal. -1 side tables FTW. llvm-svn: 151131
OpenPOWER on IntegriCloud