Richard Smith
c084bd2888
PR15132: Replace "address expression must be an lvalue or a function
...
designator" diagnostic with more correct and more human-friendly "cannot take
address of rvalue of type 'T'".
For the case of & &T::f, provide a custom diagnostic, rather than unhelpfully
saying "cannot take address of rvalue of type '<overloaded function type>'".
For the case of &array_temporary, treat it just like a class temporary
(including allowing it as an extension); the existing diagnostic wording
for the class temporary case works fine.
llvm-svn: 174262
2013-02-02 02:14:45 +00:00
Douglas Gregor
656bc62a73
Remove the "unsupported" error for lambda expressions. It's annoying,
...
and rapidly becoming untrue.
llvm-svn: 150165
2012-02-09 08:26:42 +00:00
Douglas Gregor
9390e9cc49
Fix yet one more test
...
llvm-svn: 150129
2012-02-09 01:26:17 +00:00
Eli Friedman
34b49061aa
Refactor to share code for handling return statements between lambda expressions and block literals. As it turns out, almost all the logic can be shared.
...
llvm-svn: 149031
2012-01-26 03:00:14 +00:00
Eli Friedman
73a040906d
More lambda work: semantic analysis of capturing 'this'. It's a bit complicated, but we have to be careful about when exactly captures are marked given PotentiallyPotentiallyEvaluated contexts. (Actually, it's not 100% correct yet, but it's close enough for the moment.)
...
llvm-svn: 147723
2012-01-07 04:59:52 +00:00
Eli Friedman
71c8055f8e
More lambda work. Tweak the Sema interface slightly. Start adding the pieces to build the lambda class and its call operator. Create an actual scope for the lambda body.
...
llvm-svn: 147595
2012-01-05 03:35:19 +00:00
Eli Friedman
c7c97144af
Stub out the Sema interface for lambda expressions, and change the parser to use it. Unconditionally error on lambda expressions because they don't work in any meaningful way yet.
...
llvm-svn: 147515
2012-01-04 02:40:39 +00:00
Richard Smith
9ca5c42582
Update all tests other than Driver/std.cpp to use -std=c++11 rather than
...
-std=c++0x. Patch by Ahmed Charles!
llvm-svn: 141900
2011-10-13 22:29:44 +00:00
Douglas Gregor
db0b9f1264
Parsing of C++0x lambda expressions, from John Freeman with help from
...
David Blaikie!
llvm-svn: 136876
2011-08-04 15:30:47 +00:00