[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-27 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: ```c++ void CXXMethodDecl::addOverriddenMethod(const CXXMethodDecl *MD) { assert(MD->isCanonicalDecl() && "Method is not canonical!"); assert(!MD->getParent()->isDependentContext() && "Can't add an overridden method to a class template!"); ``` It seems to me that the s

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-27 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: Such an example causes a failure in my patch ```c++ template class X { public: X() = default; virtual ~X() = default; virtual int foo(int x, int y, T &entry) = 0; void bar() { struct Processor : public X { Processor() : X() {} int foo(int, int, T &) ove

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-26 Thread Erich Keane via cfe-commits
erichkeane wrote: Hmm, that compile time regression is unfortunate. @vbe-sc as a part of your next version of this patch, can you do some sort of analysis why this would result in further lookups/instantiation/etc? I could comprehend that perhaps we're skipping the 'current instantiation' no

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-26 Thread Nikita Popov via cfe-commits
nikic wrote: FYI this seems to have significant cost for some types of C++ code, in particular clang build time regresses by 0.35% (https://llvm-compile-time-tracker.com/compare.php?from=4a7b56e6e7dd0f83c379ad06b6e81450bc691ba6&to=486644723038555a224fd09d462bb5099e64809e&stat=instructions:u).

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-26 Thread Anton Sidorenko via cfe-commits
asi-sc wrote: @vbe-sc , reverted as you asked me offline https://github.com/llvm/llvm-project/pull/117727 . Feel free to create a new PR which includes the original commit and the fix for problem. https://github.com/llvm/llvm-project/pull/114978 ___

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-26 Thread LLVM Continuous Integration via cfe-commits
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clangd-ubuntu-tsan` running on `clangd-ubuntu-clang` while building `clang` at step 6 "test-build-clangd-clangd-index-server-clangd-in...". Full details are available at: https://lab.llvm.org/buildbot/#/builders/134/builds/92

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-26 Thread via cfe-commits
https://github.com/cor3ntin closed https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-26 Thread Vladislav Belov via cfe-commits
@@ -268,6 +268,9 @@ Resolutions to C++ Defect Reports by default. (`CWG2521: User-defined literals and reserved identifiers `_). +- Clang now make correct name lookup when dependent base class is the current instantiation

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-26 Thread Vladislav Belov via cfe-commits
@@ -268,6 +268,9 @@ Resolutions to C++ Defect Reports by default. (`CWG2521: User-defined literals and reserved identifiers `_). +- Clang now make correct name lookup when dependent base class is the current instantiation

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-26 Thread Vladislav Belov via cfe-commits
https://github.com/vbe-sc updated https://github.com/llvm/llvm-project/pull/114978 >From 6564e20ae7fc69849b6787afa12f68b712f4df12 Mon Sep 17 00:00:00 2001 From: vb-sc Date: Tue, 5 Nov 2024 15:46:57 +0300 Subject: [PATCH] [clang] Fix name lookup for dependent bases --- clang/docs/ReleaseNotes.

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-26 Thread via cfe-commits
https://github.com/cor3ntin approved this pull request. LGTM (modulo small wording nit in the release note) https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-26 Thread via cfe-commits
@@ -268,6 +268,9 @@ Resolutions to C++ Defect Reports by default. (`CWG2521: User-defined literals and reserved identifiers `_). +- Clang now make correct name lookup when dependent base class is the current instantiation

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-26 Thread via cfe-commits
https://github.com/cor3ntin edited https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-24 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: @cor3ntin could you, please, re-review this patch and resolve the comments if everything is ok? https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailm

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-21 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: @sdkrystian, can you, please, re-review this patch? It seems like I fixed your test https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-19 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: > Can you add a release note I added a release note as you asked https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-19 Thread Vladislav Belov via cfe-commits
https://github.com/vbe-sc updated https://github.com/llvm/llvm-project/pull/114978 >From d17588af72f845b758a03637c84752dde733200c Mon Sep 17 00:00:00 2001 From: vb-sc Date: Tue, 5 Nov 2024 15:46:57 +0300 Subject: [PATCH] [clang] Fix name lookup for dependent bases --- clang/docs/ReleaseNotes.

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-18 Thread Vladislav Belov via cfe-commits
@@ -170,13 +170,21 @@ bool CXXBasePaths::lookupInBases(ASTContext &Context, QualType BaseType = Context.getCanonicalType(BaseSpec.getType()).getUnqualifiedType(); +bool isCurrentInstantiation = isa(BaseType); +if (!isCurrentInstantiation) { + if (auto

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-18 Thread Vladislav Belov via cfe-commits
https://github.com/vbe-sc updated https://github.com/llvm/llvm-project/pull/114978 >From e2e490717b1abe440556f2d8c439b3ee18b31642 Mon Sep 17 00:00:00 2001 From: vb-sc Date: Tue, 5 Nov 2024 15:46:57 +0300 Subject: [PATCH] [clang] Fix name lookup for dependent bases --- clang/lib/AST/CXXInherit

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-18 Thread Vladislav Belov via cfe-commits
https://github.com/vbe-sc updated https://github.com/llvm/llvm-project/pull/114978 >From 2f7c7634ae22e53c5ffd645c5d544b36d108a25b Mon Sep 17 00:00:00 2001 From: vb-sc Date: Tue, 5 Nov 2024 15:46:57 +0300 Subject: [PATCH] [clang] Fix name lookup for dependent bases --- clang/lib/AST/CXXInherit

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-18 Thread via cfe-commits
https://github.com/cor3ntin edited https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-18 Thread via cfe-commits
@@ -170,13 +170,21 @@ bool CXXBasePaths::lookupInBases(ASTContext &Context, QualType BaseType = Context.getCanonicalType(BaseSpec.getType()).getUnqualifiedType(); +bool isCurrentInstantiation = isa(BaseType); +if (!isCurrentInstantiation) { + if (auto

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-18 Thread via cfe-commits
https://github.com/cor3ntin commented: Can you add a release note and update cxx_dr_status? Thanks https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-17 Thread Vladislav Belov via cfe-commits
https://github.com/vbe-sc updated https://github.com/llvm/llvm-project/pull/114978 >From f3b8ee95f1b3759f7d0dbc12f856a13ca9f01e0f Mon Sep 17 00:00:00 2001 From: vb-sc Date: Tue, 5 Nov 2024 15:46:57 +0300 Subject: [PATCH] [clang] Fix name lookup for dependent bases --- clang/lib/AST/CXXInherit

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-16 Thread Vladislav Belov via cfe-commits
https://github.com/vbe-sc updated https://github.com/llvm/llvm-project/pull/114978 >From 5a48960ab73890b10381b4e7ebd32d3f66246bdd Mon Sep 17 00:00:00 2001 From: vb-sc Date: Tue, 5 Nov 2024 15:46:57 +0300 Subject: [PATCH] [clang] Fix name lookup for dependent bases --- clang/lib/AST/CXXInherit

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-16 Thread Vladislav Belov via cfe-commits
https://github.com/vbe-sc updated https://github.com/llvm/llvm-project/pull/114978 >From 11c24e5592bfdf8849bb415580d37a6f545e4952 Mon Sep 17 00:00:00 2001 From: vb-sc Date: Tue, 5 Nov 2024 15:46:57 +0300 Subject: [PATCH] [clang] Fix name lookup for dependent bases --- clang/lib/AST/CXXInherit

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-16 Thread Vladislav Belov via cfe-commits
https://github.com/vbe-sc updated https://github.com/llvm/llvm-project/pull/114978 >From 11c24e5592bfdf8849bb415580d37a6f545e4952 Mon Sep 17 00:00:00 2001 From: vb-sc Date: Tue, 5 Nov 2024 15:46:57 +0300 Subject: [PATCH] [clang] Fix name lookup for dependent bases --- clang/lib/AST/CXXInherit

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-16 Thread Vladislav Belov via cfe-commits
https://github.com/vbe-sc updated https://github.com/llvm/llvm-project/pull/114978 >From 0de2ff271efd672bae0b4974c404149da79ff747 Mon Sep 17 00:00:00 2001 From: vb-sc Date: Tue, 5 Nov 2024 15:46:57 +0300 Subject: [PATCH] [clang] Fix name lookup for dependent bases --- clang/lib/AST/CXXInherit

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-16 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: > I don't think this patch fixes the following case: > > ```c++ > template > struct A > { > struct B > { > using X = int; > > struct C > { > using X = void; > > struct D; > }; > }; > }; > > template > struct

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-16 Thread via cfe-commits
kolobabka wrote: > I don't think this patch fixes the following case: > > ```c++ > template > struct A > { > struct B > { > using X = int; > > struct C > { > using X = void; > > struct D; > }; > }; > }; > > template > str

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-15 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian edited https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-15 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian commented: I don't think this patch fixes the following case: ```cpp template struct A { struct B { using X = int; struct C { using X = void; struct D; }; }; }; template struct A::B::C::D : B

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-15 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: > Please wait for a week before pinging someone again. > > I think this is fine to merge as is, if you want to go ahead. We can always > do post commit review later. Sorry, I didn't know. Let's do it this way you want https://github.com/llvm/llvm-project/pull/114978 ___

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-15 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: Please wait for a week before pinging someone again. I think this is fine to merge as is, if you want to go ahead. We can always do post commit review later. https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing lis

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-14 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: @sdkrystian, could you, please, take a look? We are about to merge this https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-12 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: @sdkrystian ping https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-11 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: > @vbe-sc I can later today or tomorrow. That's would be great, thank you! https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commi

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-11 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @vbe-sc I can later today or tomorrow. https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-10 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: @sdkrystian, could you please take a look? https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-08 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov approved this pull request. LGTM, but give some time for @sdkrystian to take a look, since he is actively working on this area. https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-08 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: @sdkrystian, please, could you take a look? https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-07 Thread Vladislav Belov via cfe-commits
@@ -265,8 +268,8 @@ bool CXXBasePaths::lookupInBases(ASTContext &Context, BaseRecord = nullptr; } } else { -BaseRecord = cast( -BaseSpec.getType()->castAs()->getDecl()); +if (auto *RT = BaseSpec.getType()->getAs()) +

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-07 Thread Vladislav Belov via cfe-commits
@@ -169,14 +169,18 @@ bool CXXBasePaths::lookupInBases(ASTContext &Context, // Find the record of the base class subobjects for this type. QualType BaseType = Context.getCanonicalType(BaseSpec.getType()).getUnqualifiedType(); +bool isCurrentInstantiation = f

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-07 Thread Vladislav Belov via cfe-commits
https://github.com/vbe-sc updated https://github.com/llvm/llvm-project/pull/114978 >From 66f3465737a99a002310b707f7783698adef253a Mon Sep 17 00:00:00 2001 From: vb-sc Date: Tue, 5 Nov 2024 15:46:57 +0300 Subject: [PATCH] [clang] Fix name lookup for dependent bases --- clang/lib/AST/CXXInherit

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-06 Thread Matheus Izvekov via cfe-commits
@@ -169,14 +169,18 @@ bool CXXBasePaths::lookupInBases(ASTContext &Context, // Find the record of the base class subobjects for this type. QualType BaseType = Context.getCanonicalType(BaseSpec.getType()).getUnqualifiedType(); +bool isCurrentInstantiation = f

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-06 Thread Matheus Izvekov via cfe-commits
@@ -265,8 +268,8 @@ bool CXXBasePaths::lookupInBases(ASTContext &Context, BaseRecord = nullptr; } } else { -BaseRecord = cast( -BaseSpec.getType()->castAs()->getDecl()); +if (auto *RT = BaseSpec.getType()->getAs()) +

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-06 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > > > @Endilll, please, could you take a look? > > > > > > My knowledge of wording about templates is not deep enough, unfortunately. > > Could you, please, suggest someone who can review this part? I've already added several people who should be able to, but mind that we're v

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-06 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: > > @Endilll, please, could you take a look? > > My knowledge of wording about templates is not deep enough, unfortunately. Could you, please, suggest someone who can review this part? https://github.com/llvm/llvm-project/pull/114978 __

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-06 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > @Endilll, please, could you take a look? My knowledge of wording about templates is not deep enough, unfortunately. https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-06 Thread Vlad Serebrennikov via cfe-commits
Endilll wrote: > Also, do you have any ideas why the Win pipeline fails with checkout failure? > How can I fix it? It seems to be unrelated to you. Might be fixed when you'll push a new commit. https://github.com/llvm/llvm-project/pull/114978 ___ cfe

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-06 Thread Vladislav Belov via cfe-commits
vbe-sc wrote: @Endilll, please, could you take a look? Also, do you have any ideas why the Win pipeline fails with checkout failure? How can I fix it? https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.ll

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-05 Thread Vladislav Belov via cfe-commits
https://github.com/vbe-sc updated https://github.com/llvm/llvm-project/pull/114978 >From 0c2363cb2ab24d0b4d9998943772f9105437579e Mon Sep 17 00:00:00 2001 From: vb-sc Date: Tue, 5 Nov 2024 15:46:57 +0300 Subject: [PATCH] [clang] Fix name lookup for dependent bases --- clang/lib/AST/CXXInherit

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-05 Thread Vladislav Belov via cfe-commits
https://github.com/vbe-sc created https://github.com/llvm/llvm-project/pull/114978 Currently the following example is a compilation failure: ``` template struct A { typedef int M; struct B { typedef void M; struct C; }; }; template struct A::B::C : A { M m; // void

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-05 Thread Vlad Serebrennikov via cfe-commits
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/114978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix name lookup for dependent bases (PR #114978)

2024-11-05 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Vladislav Belov (vbe-sc) Changes Currently the following example is a compilation failure: ``` template struct A { typedef int M; struct B { typedef void M; struct C; }; }; template struct A