Skip to content
Snippets Groups Projects
  • Douglas Gregor's avatar
    dfca6f53
    Introduce support for template instantiation of lambda · dfca6f53
    Douglas Gregor authored
    expressions. This is mostly a simple refact, splitting the main "start
    a lambda expression" function into smaller chunks that are driven
    either from the parser (Sema::ActOnLambdaExpr) or during AST
    transformation (TreeTransform::TransformLambdaExpr). A few minor
    interesting points:
    
      - Added new entry points for TreeTransform, so that we can
      explicitly establish the link between the lambda closure type in the
      template and the lambda closure type in the instantiation.
      - Added a bit into LambdaExpr specifying whether it had an explicit
      result type or not. We should have had this anyway.
    
    This code is 'lightly' tested.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150417 91177308-0d34-0410-b5e6-96231b3b80d8
    dfca6f53
    History
    Introduce support for template instantiation of lambda
    Douglas Gregor authored
    expressions. This is mostly a simple refact, splitting the main "start
    a lambda expression" function into smaller chunks that are driven
    either from the parser (Sema::ActOnLambdaExpr) or during AST
    transformation (TreeTransform::TransformLambdaExpr). A few minor
    interesting points:
    
      - Added new entry points for TreeTransform, so that we can
      explicitly establish the link between the lambda closure type in the
      template and the lambda closure type in the instantiation.
      - Added a bit into LambdaExpr specifying whether it had an explicit
      result type or not. We should have had this anyway.
    
    This code is 'lightly' tested.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150417 91177308-0d34-0410-b5e6-96231b3b80d8
Code owners
Assign users and groups as approvers for specific file changes. Learn more.