summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaLambda.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement C++ [expr.prim.lambda]p2, which bans lambda expressions inDouglas Gregor2012-02-091-3/+22
| | | | | | | unevaluated operands. Be certain that we're marking everything referenced within a capture initializer as odr-used. llvm-svn: 150163
* Don't complain about the lack of a constructor for a lambda expression. They ↵Douglas Gregor2012-02-091-1/+1
| | | | | | are constructed in different ways llvm-svn: 150136
* Along the error path for lambdas, mark the lambda class as invalid and ↵Douglas Gregor2012-02-091-0/+10
| | | | | | finalize it llvm-svn: 150130
* Various interrelated cleanups for lambdas:Douglas Gregor2012-02-091-9/+19
| | | | | | | | | | | | | | - Complete the lambda class when we finish the lambda expression (previously, it was left in the "being completed" state) - Actually return the LambdaExpr object and bind to the resulting temporary when needed. - Detect when cleanups are needed while capturing a variable into a lambda (e.g., due to default arguments in the copy constructor), and make sure those cleanups apply for the whole of the lambda expression. llvm-svn: 150123
* Factor C++11 lambda expressions implementation into a separateDouglas Gregor2012-02-081-0/+346
file. No functionality change. llvm-svn: 150089
OpenPOWER on IntegriCloud