Author: Matheus Izvekov Date: 2025-08-15T17:21:55-03:00 New Revision: 5c51a88f193a4753818b31ca186b3a1ef1a07ecf
URL: https://github.com/llvm/llvm-project/commit/5c51a88f193a4753818b31ca186b3a1ef1a07ecf DIFF: https://github.com/llvm/llvm-project/commit/5c51a88f193a4753818b31ca186b3a1ef1a07ecf.diff LOG: [clang] fix DependentNameType -> UnresolvedUsingType transforms (#153862) Added: Modified: clang/lib/Sema/TreeTransform.h clang/test/SemaCXX/using-decl-templates.cpp Removed: ################################################################################ diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 1863e7f97e3f1..055d3cd1a8609 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -7668,8 +7668,11 @@ QualType TreeTransform<Derived>::TransformDependentNameType( } else if (isa<TypedefType>(Result)) { TLB.push<TypedefTypeLoc>(Result).set(TL.getElaboratedKeywordLoc(), QualifierLoc, TL.getNameLoc()); + } else if (isa<UnresolvedUsingType>(Result)) { + auto NewTL = TLB.push<UnresolvedUsingTypeLoc>(Result); + NewTL.set(TL.getElaboratedKeywordLoc(), QualifierLoc, TL.getNameLoc()); } else { - DependentNameTypeLoc NewTL = TLB.push<DependentNameTypeLoc>(Result); + auto NewTL = TLB.push<DependentNameTypeLoc>(Result); NewTL.setElaboratedKeywordLoc(TL.getElaboratedKeywordLoc()); NewTL.setQualifierLoc(QualifierLoc); NewTL.setNameLoc(TL.getNameLoc()); diff --git a/clang/test/SemaCXX/using-decl-templates.cpp b/clang/test/SemaCXX/using-decl-templates.cpp index c96c4879cb68c..58b30595b148c 100644 --- a/clang/test/SemaCXX/using-decl-templates.cpp +++ b/clang/test/SemaCXX/using-decl-templates.cpp @@ -153,3 +153,11 @@ T foo(T t) { // OK } } // namespace sss } // namespace func_templ + +namespace DependentName { + template <typename T> struct S { + using typename T::Ty; + static Ty Val; + }; + template <typename T> typename S<T>::Ty S<T>::Val; +} // DependentName _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits