[all-commits] [llvm/llvm-project] dec94b: [Clang][Sema] Make UnresolvedLookupExprs in class ...
Krystian Stasiowski via All-commits
all-commits at lists.llvm.org
Thu Aug 15 00:34:47 PDT 2024
Branch: refs/heads/release/19.x
Home: https://github.com/llvm/llvm-project
Commit: dec94b04c02fe18296e29a10f2db7e8da054be0f
https://github.com/llvm/llvm-project/commit/dec94b04c02fe18296e29a10f2db7e8da054be0f
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-08-15 (Thu, 15 Aug 2024)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/decltype.cpp
Log Message:
-----------
[Clang][Sema] Make UnresolvedLookupExprs in class scope explicit specializations instantiation dependent (#100392)
A class member named by an expression in a member function that may instantiate to a static _or_ non-static member is represented by a `UnresolvedLookupExpr` in order to defer the implicit transformation to a class member access expression until instantiation. Since `ASTContext::getDecltypeType` only creates a `DecltypeType` that has a `DependentDecltypeType` as its canonical type when the operand is instantiation dependent, and since we do not transform types unless they are instantiation dependent, we need to mark the `UnresolvedLookupExpr` as instantiation dependent in order to correctly build a `DecltypeType` using the expression as its operand with a `DependentDecltypeType` canonical type. Fixes #99873.
(cherry picked from commit 55ea36002bd364518c20b3ce282640c920697bf7)
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