[all-commits] [llvm/llvm-project] 64ffe6: [Clang] Handle sema of noexcept condition in their...

cor3ntin via All-commits all-commits at lists.llvm.org
Wed Sep 27 23:25:43 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 64ffe64d2dee03888ac6765c185b78d79bce3eca
      https://github.com/llvm/llvm-project/commit/64ffe64d2dee03888ac6765c185b78d79bce3eca
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2023-09-28 (Thu, 28 Sep 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/test/SemaCXX/lambda-expressions.cpp

  Log Message:
  -----------
  [Clang] Handle sema of noexcept condition in their evaluation context. (#67538)

The conditions of a noexcept and explicit specifier are full
expressions. Before this patch, we would call ActOnFinishFullExpr on
these in the context of the enclosing expression, which would cause the
collect of odr-used variables (and subsequently capture attempts) in the
wrong (enclosing) context.

This was observable when parsing the noexcept specifier condition of a
lambda appearing in a wider full expression odr-using variables.

Fixes #67492




More information about the All-commits mailing list