[PATCH] D145491: [clang] Replace Member Expressions During Instantiation If Necessary

Liming Liu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 7 05:24:46 PST 2023


lime created this revision.
lime added reviewers: aaron.ballman, cor3ntin, erichkeane, clang-language-wg.
lime added projects: All, clang, clang-language-wg.
lime requested review of this revision.
Herald added a subscriber: cfe-commits.

This patch replace 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 <https://reviews.llvm.org/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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D145491

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D145491.502996.patch
Type: text/x-patch
Size: 4619 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230307/58a53d3f/attachment.bin>


More information about the cfe-commits mailing list