Go to file
Faisal Vali c1a6dc4907 Refactor out the circular reference to LambdaExpr in CXXRecordDecl.
A prior commit of this patch was reverted because it was within the blamelist's purview of a failing test.  The failure of that test has been addressed here: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20131021/091546.html.  Therefore I am recommitting this patch (all tests pass on windows, except for the usual modules & index suspects that never pass on my box).

Some background: Both Doug and Richard had asked me in Chicago to remove the circular reference in CXXRecordDecl to LambdaExpr by factoring out and storing the needed information from LambdaExpr directly into CXXRecordDecl.
 
In addition, I have added an IsGenericLambda flag - this makes life a little easier when we implement capturing, and are Sema-analyzing the body of a lambda (and the calloperator hasn't been wired to the closure class yet). Any inner lambdas can have potential captures that could require walking up the scope chain and checking if any generic lambdas are capture-ready. This 'bit' makes some of that checking easier. 

No change in functionality.

This patch was approved by Doug with minor modifications (comments were cleaned up, and all data members were converted from bool/enum to unsigned, as requested): 
http://llvm-reviews.chandlerc.com/D1856

Thanks!

llvm-svn: 193246
2013-10-23 16:10:50 +00:00
clang Refactor out the circular reference to LambdaExpr in CXXRecordDecl. 2013-10-23 16:10:50 +00:00
clang-tools-extra Refactoring transform-specific options 2013-10-17 17:57:36 +00:00
compiler-rt [ASan] ASan can be combined with LSan and UBSan, so export symbol from them as well. 2013-10-23 15:36:22 +00:00
debuginfo-tests don't use CHECK-NEXT because it may be on the same line. 2013-09-18 23:01:54 +00:00
libclc Clean-up dependency files 2013-10-23 02:49:33 +00:00
libcxx Update status of issues 2013-10-23 05:59:18 +00:00
libcxxabi Move local Db type out to namespace scope. 2013-10-22 16:45:48 +00:00
lld [PECOFF] Resource file extension is .res, not .rc. 2013-10-22 23:58:38 +00:00
lldb Initial DWARF64 support for .debug_line 2013-10-23 14:18:41 +00:00
llvm Fix cmake dependency on llvm-c-test in test 2013-10-23 15:01:23 +00:00
openmp Update web pages to include style sheets and referenced documents missed before. 2013-10-03 11:55:28 +00:00
polly clang-format: No empty line after 'public:' 2013-10-15 14:41:02 +00:00