[all-commits] [llvm/llvm-project] 19e518: [Clang][Parser] Have the depth of the abbreviated ...

Younan Zhang via All-commits all-commits at lists.llvm.org
Thu Feb 22 17:36:45 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 19e518d2623c0e87a87ebf30405e74448bd1ee70
      https://github.com/llvm/llvm-project/commit/19e518d2623c0e87a87ebf30405e74448bd1ee70
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-02-23 (Fri, 23 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/test/Parser/cxx-concepts-requires-clause.cpp

  Log Message:
  -----------
  [Clang][Parser] Have the depth of the abbreviated generic lambdas inside a requires clause differ from the surrounding generic lambda (#80656)

A one-line fix, again : )

This fixes https://github.com/llvm/llvm-project/issues/78524 and the
similar example at
https://github.com/llvm/llvm-project/issues/78524#issuecomment-1899886951.

We previously increased the template depth by one after parsing the
attaching requires-clause on a lambda expression. This led to a problem
where the 'auto' parameters of nested abbreviated generic lambdas,
inside of a requires-expression, had the same depth as the template
parameters of the surrounding lambda. Consequently, during the
concept-checking stage, we ended up substituting these parameters with
the wrong template arguments because they were at different levels.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list