[PATCH] Generic Lambdas: The next step

Faisal Vali faisalv at yahoo.com
Mon Sep 9 07:37:53 PDT 2013


  - removed some nonsense comments
  - replaced a check for a dependent parent context by checking directly if the type itself is instantiation dependent in FindInstantiatedDecl.

  Please see previous comment regarding some fixes for other bugs:
    - return type deduction in delayed template parsing mode
    - in-class explicit specializations in ms-extensions and delayed template parsing mode
    - indexing arrays with dependent variables in a template

  TODOS:
    - complete support for non-trivial variadic expansions (basic nested variadic expansion support already exists)
    - ensure that 'this' capturing is fully implemented
    - ensure that all the visitors are generic lambda aware
    - fix bugs
    - what else??

  Thanks again!

Hi rsmith, doug.gregor, eli.friedman,

http://llvm-reviews.chandlerc.com/D1174

CHANGE SINCE LAST DIFF
  http://llvm-reviews.chandlerc.com/D1174?vs=4131&id=4136#toc

Files:
  include/clang/AST/ASTContext.h
  include/clang/AST/ASTLambda.h
  include/clang/AST/DeclCXX.h
  include/clang/AST/ExprCXX.h
  include/clang/AST/Type.h
  include/clang/Basic/DiagnosticSemaKinds.td
  include/clang/Sema/DeclSpec.h
  include/clang/Sema/ScopeInfo.h
  include/clang/Sema/Sema.h
  include/clang/Sema/SemaLambda.h
  lib/AST/ASTContext.cpp
  lib/AST/ASTImporter.cpp
  lib/AST/Decl.cpp
  lib/AST/DeclCXX.cpp
  lib/AST/ExprCXX.cpp
  lib/AST/Type.cpp
  lib/CodeGen/CGClass.cpp
  lib/CodeGen/CodeGenFunction.cpp
  lib/CodeGen/CodeGenFunction.h
  lib/Parse/ParseDecl.cpp
  lib/Parse/ParseExprCXX.cpp
  lib/Parse/Parser.cpp
  lib/Parse/ParseTemplate.cpp
  lib/Sema/Sema.cpp
  lib/Sema/SemaDecl.cpp
  lib/Sema/SemaDeclCXX.cpp
  lib/Sema/SemaExpr.cpp
  lib/Sema/SemaExprCXX.cpp
  lib/Sema/SemaLambda.cpp
  lib/Sema/SemaOverload.cpp
  lib/Sema/SemaStmt.cpp
  lib/Sema/SemaTemplateDeduction.cpp
  lib/Sema/SemaTemplateInstantiate.cpp
  lib/Sema/SemaTemplateInstantiateDecl.cpp
  lib/Sema/SemaType.cpp
  lib/Sema/TreeTransform.h
  lib/Serialization/ASTReader.cpp
  lib/Serialization/ASTReaderDecl.cpp
  lib/Serialization/ASTWriter.cpp
  test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-generic-lambda-1y.cpp
  test/CXX/expr/expr.prim/expr.prim.lambda/generic-lambda-capturing.cpp
  test/CXX/expr/expr.prim/expr.prim.lambda/p2-generic-lambda-1y.cpp
  test/CXX/expr/expr.prim/expr.prim.lambda/p4-1y.cpp
  test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp
  test/CXX/expr/expr.prim/expr.prim.lambda/p5-generic-lambda-1y.cpp
  test/Parser/DelayedTemplateParsing.cpp
  test/PCH/cxx1y-lambdas.mm
  test/SemaCXX/cxx1y-deduced-return-type.cpp
  test/SemaCXX/cxx1y-generic-lambdas.cpp
  test/SemaCXX/lambda-expressions.cpp
  test/SemaTemplate/ms-function-specialization-class-scope.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1174.5.patch
Type: text/x-patch
Size: 224000 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130909/e34f460c/attachment.bin>


More information about the cfe-commits mailing list