[all-commits] [llvm/llvm-project] 051cc4: [C++20] Determine the dependency of unevaluated la...

limingliv via All-commits all-commits at lists.llvm.org
Fri Jan 6 05:57:12 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 051cc460ba9117c9f62c09235bdf6f5ae1248dd4
      https://github.com/llvm/llvm-project/commit/051cc460ba9117c9f62c09235bdf6f5ae1248dd4
  Author: Liming Liu <gangliugangliu.ml at outlook.com>
  Date:   2023-01-06 (Fri, 06 Jan 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/TreeTransform.h
    A clang/test/CodeGenCXX/cxx20-unevaluated-lambda-crash.cpp
    M clang/test/SemaCXX/lambda-unevaluated.cpp

  Log Message:
  -----------
  [C++20] Determine the dependency of unevaluated lambdas more accurately

During template instantiation, the instantiator will enter constant
evaluated
context before instantiate a template argument originated from an
expression,
and this impedes the instantiator from creating lambdas with independent
types.

This patch solves the problem via widening the condition that the
instantiator
marks lambdas as never dependent, and fixes the issue #57960

Differential Revision: https://reviews.llvm.org/D140554




More information about the All-commits mailing list