Skip to content
Snippets Groups Projects
  • Douglas Gregor's avatar
    ccc1b5ee
    Implement name mangling for lambda expressions that occur within the · ccc1b5ee
    Douglas Gregor authored
    default arguments of function parameters. This simple-sounding task is
    complicated greatly by two issues:
    
      (1) Default arguments aren't actually a real context, so we need to
      maintain extra state within lambda expressions to track when a
      lambda was actually in a default argument.
      (2) At the time that we parse a default argument, the FunctionDecl
      doesn't exist yet, so lambda closure types end up in the enclosing
      context. It's not clear that we ever want to change that, so instead
      we introduce the notion of the "effective" context of a declaration
      for the purposes of name mangling.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151011 91177308-0d34-0410-b5e6-96231b3b80d8
    ccc1b5ee
    History
    Implement name mangling for lambda expressions that occur within the
    Douglas Gregor authored
    default arguments of function parameters. This simple-sounding task is
    complicated greatly by two issues:
    
      (1) Default arguments aren't actually a real context, so we need to
      maintain extra state within lambda expressions to track when a
      lambda was actually in a default argument.
      (2) At the time that we parse a default argument, the FunctionDecl
      doesn't exist yet, so lambda closure types end up in the enclosing
      context. It's not clear that we ever want to change that, so instead
      we introduce the notion of the "effective" context of a declaration
      for the purposes of name mangling.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151011 91177308-0d34-0410-b5e6-96231b3b80d8
Code owners
Assign users and groups as approvers for specific file changes. Learn more.