[all-commits] [llvm/llvm-project] 3951c2: [clang] Replace Member Expressions During Instanti...

limingliv via All-commits all-commits at lists.llvm.org
Mon Mar 13 07:22:38 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3951c28b37ff67c87da59df961c4af19818c24c2
      https://github.com/llvm/llvm-project/commit/3951c28b37ff67c87da59df961c4af19818c24c2
  Author: Liming Liu <gangliugangliu.ml at outlook.com>
  Date:   2023-03-13 (Mon, 13 Mar 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    A clang/test/CodeGenCXX/decl-ref-inheritance.cpp
    M clang/test/SemaCXX/decltype.cpp

  Log Message:
  -----------
  [clang] Replace Member Expressions During Instantiation If Necessary

This patch replaces member accesses to declaration references during template
instantiation if the context is the unevaluated context and the class does not
contain the declaration.

The replacement fixes the issue #58674. Unlike previous fixes such as D143840,
it checks the membership during instantiation rather than right after parsing,
so the check is more accurate and efficient.

This patch also includes cases that previous fixes had once failed on.

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




More information about the All-commits mailing list