File tree Expand file tree Collapse file tree 3 files changed +20
-1
lines changed
Expand file tree Collapse file tree 3 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -741,6 +741,7 @@ Bug Fixes to C++ Support
741741- Fixed the handling of pack indexing types in the constraints of a member function redeclaration. (#GH138255)
742742- Clang now correctly parses arbitrary order of ``[[]] ``, ``__attribute__ `` and ``alignas `` attributes for declarations (#GH133107)
743743- Fixed a crash when forming an invalid function type in a dependent context. (#GH138657) (#GH115725) (#GH68852)
744+ - Fixed a function declaration mismatch that caused inconsistencies between concepts and variable template declarations. (#GH139476)
744745- Clang no longer segfaults when there is a configuration mismatch between modules and their users (http://crbug.com/400353616).
745746- Fix an incorrect deduction when calling an explicit object member function template through an overload set address.
746747- Fixed bug in constant evaluation that would allow using the value of a
Original file line number Diff line number Diff line change @@ -2189,7 +2189,10 @@ StmtProfiler::VisitCXXPseudoDestructorExpr(const CXXPseudoDestructorExpr *S) {
21892189
21902190void StmtProfiler::VisitOverloadExpr (const OverloadExpr *S) {
21912191 VisitExpr (S);
2192- VisitNestedNameSpecifier (S->getQualifier ());
2192+ if (S->getNumDecls () == 1 )
2193+ VisitDecl (*S->decls_begin ());
2194+ else
2195+ VisitNestedNameSpecifier (S->getQualifier ());
21932196 VisitName (S->getName (), /* TreatAsDecl*/ true );
21942197 ID.AddBoolean (S->hasExplicitTemplateArgs ());
21952198 if (S->hasExplicitTemplateArgs ())
Original file line number Diff line number Diff line change @@ -853,3 +853,18 @@ template <int... Ts>
853853requires C<Ts...[0 ]>
854854auto TplClass<int >::buggy() -> void {}
855855}
856+
857+ namespace GH139476 {
858+
859+ namespace moo {
860+ template <typename T>
861+ constexpr bool baa = true ;
862+
863+ template <typename T> requires baa<T>
864+ void caw ();
865+ }
866+
867+ template <typename T> requires moo::baa<T>
868+ void moo::caw () {}
869+
870+ }
You can’t perform that action at this time.
0 commit comments