Author: rsmith Date: Thu Sep 26 15:28:32 2019 New Revision: 373022 URL: http://llvm.org/viewvc/llvm-project?rev=373022&view=rev Log: Always rebuild a DeclRefExpr if its FoundDecl would change.
Fixes a regression introduced by r369999. Added: cfe/trunk/test/SemaTemplate/using-decl.cpp Modified: cfe/trunk/lib/Sema/TreeTransform.h Modified: cfe/trunk/lib/Sema/TreeTransform.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/TreeTransform.h?rev=373022&r1=373021&r2=373022&view=diff ============================================================================== --- cfe/trunk/lib/Sema/TreeTransform.h (original) +++ cfe/trunk/lib/Sema/TreeTransform.h Thu Sep 26 15:28:32 2019 @@ -9219,6 +9219,7 @@ TreeTransform<Derived>::TransformDeclRef if (!getDerived().AlwaysRebuild() && QualifierLoc == E->getQualifierLoc() && ND == E->getDecl() && + Found == E->getFoundDecl() && NameInfo.getName() == E->getDecl()->getDeclName() && !E->hasExplicitTemplateArgs()) { Added: cfe/trunk/test/SemaTemplate/using-decl.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaTemplate/using-decl.cpp?rev=373022&view=auto ============================================================================== --- cfe/trunk/test/SemaTemplate/using-decl.cpp (added) +++ cfe/trunk/test/SemaTemplate/using-decl.cpp Thu Sep 26 15:28:32 2019 @@ -0,0 +1,16 @@ +// RUN: %clang_cc1 -std=c++2a -verify %s +// expected-no-diagnostics + +namespace UsingInGenericLambda { + namespace a { + enum { b }; + } + template<typename> void c() { + auto d = [](auto) { + using a::b; + (void)b; + }; + d(0); + } + void e() { c<int>(); } +} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits