https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/93267
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov approved this pull request.
Small nit, otherwise after you address @efriedma-quic 's concerns, this LGTM.
https://github.com/llvm/llvm-project/pull/93267
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/93433
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/93431
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/93448
>From 4ed34c959afa51328102ec037b418dbfc84ab063 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Mon, 27 May 2024 05:51:18 -0300
Subject: [PATCH] [clang] fix printing of canonical template template
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/93433
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/93448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov commented:
I see it stops crashing, but is it actually working now?
Why `hasInit` returns true, but the variable doesn't actually have an
initializer?
Shouldn't the fix go there?
https://github.com/llvm/llvm-project/pull/93749
@@ -3541,6 +3541,7 @@ Sema::ActOnCXXMemberDeclarator(Scope *S, AccessSpecifier
AS, Declarator ,
IdentifierInfo *II = Name.getAsIdentifierInfo();
+#if 0
mizvekov wrote:
Leftover
https://github.com/llvm/llvm-project/pull/93873
@@ -3561,6 +3562,7 @@ Sema::ActOnCXXMemberDeclarator(Scope *S, AccessSpecifier
AS, Declarator ,
}
return nullptr;
}
+#endif
mizvekov wrote:
Leftover
https://github.com/llvm/llvm-project/pull/93873
https://github.com/mizvekov commented:
Interestingly, only GCC errors on a case like this:
```
namespace {
template int A = 0;
}
template<> int A = 0;
```
https://godbolt.org/z/TTjssKxz5
https://github.com/llvm/llvm-project/pull/93873
___
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/92852
>From 984ac614f6d6e3196961690fa957df6a03f37782 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Mon, 20 May 2024 00:39:55 -0300
Subject: [PATCH] [clang] NFCI: use TemplateArgumentLoc for NTTP
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/92854
>From 142c3f394e1b34dcefcaf0887a6fd4711b78eeb3 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Mon, 20 May 2024 16:30:46 -0300
Subject: [PATCH] [clang] NFCI: use TemplateArgumentLoc for type-param
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/92852
>From 229cb63b95bb3b0db8d73947a40dede945b8b378 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Mon, 20 May 2024 00:39:55 -0300
Subject: [PATCH] [clang] NFCI: use TemplateArgumentLoc for NTTP
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/92852
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/92957
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -720,7 +720,7 @@ Parser::DeclGroupPtrTy Parser::ParseUsingDeclaration(
return nullptr;
}
CXXScopeSpec SS;
-if (ParseOptionalCXXScopeSpecifier(SS, /*ParsedType=*/nullptr,
+if (ParseOptionalCXXScopeSpecifier(SS, /*ObjectType=*/nullptr,
@@ -397,22 +397,32 @@ NamedDecl *Sema::FindFirstQualifierInScope(Scope *S,
NestedNameSpecifier *NNS) {
while (NNS->getPrefix())
NNS = NNS->getPrefix();
- if (NNS->getKind() != NestedNameSpecifier::Identifier)
-return nullptr;
-
- LookupResult Found(*this,
@@ -55,15 +55,21 @@ namespace PR11856 {
template T *end(T*);
- class X { };
+ struct X { };
+ struct Y {
+int end;
+ };
template
void Foo2() {
T it1;
-if (it1->end < it1->end) {
-}
+if (it1->end < it1->end) { }
X *x;
-if (x->end <
@@ -2893,6 +2893,8 @@ class TreeTransform {
CXXScopeSpec SS;
SS.Adopt(QualifierLoc);
+if (FirstQualifierInScope)
+ SS.setFoundFirstQualifierInScope(FirstQualifierInScope);
mizvekov wrote:
It looks like adding 'FirstQualifierInScope' as a
@@ -47,8 +47,8 @@ template
void DerivedT::Inner() {
Derived1T::Foo();
Derived2T::Member = 42;
- this->Derived1T::Foo();
- this->Derived2T::Member = 42;
+ this->Derived1T::Foo(); // expected-error{{use 'template' keyword to
treat 'Derived1T' as a dependent template
@@ -6891,7 +6891,7 @@ class Sema final : public SemaBase {
const TemplateArgumentListInfo *TemplateArgs);
ExprResult ActOnMemberAccessExpr(Scope *S, Expr *Base, SourceLocation OpLoc,
- tok::TokenKind OpKind, CXXScopeSpec ,
+
https://github.com/mizvekov commented:
I think overall this looks like the right direction to me.
https://github.com/llvm/llvm-project/pull/92957
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
@@ -618,7 +618,6 @@ namespace cwg141 { // cwg141: 3.1
// FIXME: we issue a useful diagnostic first, then some bogus ones.
mizvekov wrote:
It looks like this FIXME is fixed as per change below.
https://github.com/llvm/llvm-project/pull/92957
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/92854
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/92855
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/92854
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/92855
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/92852
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mizvekov wrote:
> Heads up: this commit has triggered some weird errors for a compile, but only
> when clang header modules are enabled.
> That seems to _probably_ indicate a bug in this commit (presumably related to
> AST serialization or deserialization?), but I don't have a test-case, and,
@@ -3833,6 +3833,11 @@ def note_cannot_use_trivial_abi_reason : Note<
"it is polymorphic|"
"it has a base of a non-trivial class type|it has a virtual base|"
"it has a __weak field|it has a field of a non-trivial class type}1">;
+def warn_ppc_musttail_maybe_ignored:
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/93267
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/93267
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mizvekov wrote:
Thanks for the heads up, this does look like a problem. I am reverting it for
now.
https://github.com/llvm/llvm-project/pull/92855
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/mizvekov created
https://github.com/llvm/llvm-project/pull/93265
This was not implemented in https://github.com/llvm/llvm-project/pull/78041
when StructuralValue TemplateArguments were originally added.
This patch does not implement this functionality, it just falls back to
mizvekov wrote:
This missed adding support to StructuralValue template arguments to the
template differ.
See https://github.com/llvm/llvm-project/pull/93265
Te support is still missing, we are just avoiding the crash for now.
https://github.com/llvm/llvm-project/pull/78041
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/93258
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov created
https://github.com/llvm/llvm-project/pull/93258
Reverts llvm/llvm-project#92855
This is causing issues, there are still being reduced, but does look like a
problem.
>From 8871ef58ece10234b8cd97c5e7199dee7d7a8b08 Mon Sep 17 00:00:00 2001
From: Matheus
mizvekov wrote:
I figured a reproducer based on your hints:
```C++
template struct A {};
template class TT> auto f(TT a) { return a; }
A v1;
A v2;
using X = decltype(f(v1));
using Y = decltype(f(v2));
```
Fails with:
```
t.cc:9:20: error: no matching function for call to 'f'
9 | using Y
https://github.com/mizvekov created
https://github.com/llvm/llvm-project/pull/93431
This improves and unifies our approach to printing all template arguments.
The same approach to printing types is extended to all TemplateArguments: A
sugared version is printed in quotes, followed by printing
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/93431
>From c23a96038a8233b44b49bc0a1d2a2475e4d2a8ae Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Fri, 24 May 2024 12:22:55 -0300
Subject: [PATCH] [clang] Improve ast-dumper text printing of TemplateArgument
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/94522
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mizvekov wrote:
> Can you elaborate on what specifically you find hard? Building should be
> fairly straightforward, besides Python and SWIG, which are required to run
> the tests, most of our dependencies are optional. Unlike the compiler, the
> debugger is (1) tied to the system it's
https://github.com/mizvekov created
https://github.com/llvm/llvm-project/pull/94522
Previous patches 3cabbf60393cc8d55fe635e35e89e5973162de33 and
1a2f3309765fdc143fdc3809211fb85d2e2ca341 broke the assumption that the AST
Context was optional for the text node dumper.
While missing an
mizvekov wrote:
I would normally have no issue making the changes needed to other projects, and
I mostly try to do that.
But lldb sets itself apart in how hard it is to get a project setup going, and
how impactful it is.
It's a bit concerning when the changes needed are quite trivial, for
mizvekov wrote:
> > 2. Build system does not support Multi-config generators. You can grep for
> > https://cmake.org/cmake/help/latest/variable/CMAKE_CFG_INTDIR.html as an
> > example.
>
> This simply isn't true. Xcode is a multi-config build system and we have [a
>
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/94522
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mizvekov wrote:
> Even with this fix, I'm seeing a segfault in clang/lib/AST/QualTypeNames.cpp
> at line 216.
> I have a fix in testing that adds this check, but if you would double check
> it after it goes in, that would be helpful.
>
> Unfortunately the failure is in an internal tool,
https://github.com/mizvekov created
https://github.com/llvm/llvm-project/pull/94311
This removes a workaround for template template arguments pointing to older
template declarations, which don't have the most recent default argument
definition.
The removed workaround was introduced in
@@ -55,15 +55,21 @@ namespace PR11856 {
template T *end(T*);
- class X { };
+ struct X { };
+ struct Y {
+int end;
+ };
template
void Foo2() {
T it1;
-if (it1->end < it1->end) {
-}
+if (it1->end < it1->end) { }
X *x;
-if (x->end <
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/94311
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mizvekov wrote:
> I think it makes a lot of sense for lldb to have a precommit CI pipeline
> which tests changes to lldb. I don't think we're at a point where it would
> make sense to enable lldb precommit CI testing for changes to clang, though.
>
> For starters, the false positive rate from
https://github.com/mizvekov created
https://github.com/llvm/llvm-project/pull/93758
None
>From 834696f9b0a74c5a4c0d261480be6cff71fc91f5 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Wed, 29 May 2024 22:23:01 -0300
Subject: [PATCH] [clang] CWG150: add tests and change to unreleased
---
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/93448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Matheus Izvekov
Date: 2024-05-30T02:56:57-03:00
New Revision: 498da62088b22ef1d4e90d6021a80ae7bab6abae
URL:
https://github.com/llvm/llvm-project/commit/498da62088b22ef1d4e90d6021a80ae7bab6abae
DIFF:
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/80245
>From 9763cc9e6f081bc28b74164c77a2b80ac42aec1c Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Thu, 1 Feb 2024 02:26:10 -0300
Subject: [PATCH] [clang] fix merging of UsingShadowDecl
Previously, when
mizvekov wrote:
I have revived this PR after a long time.
The original ODR violation bad diagnostic from the GH issue is gone from main,
so I have removed the test for it.
My best guess is that the ODR checking must have gotten weakened somehow.
I really don't have time to dig into it though.
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/80245
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/93431
>From 031e7c235ce5cbae31504c21eeecc7655fbd1566 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Fri, 24 May 2024 12:22:55 -0300
Subject: [PATCH] [clang] Improve ast-dumper text printing of TemplateArgument
https://github.com/mizvekov commented:
The problem here is the loss of the qualification on the TemplateNames
This patch fixes the problem, without taking any workarounds:
https://github.com/llvm/llvm-project/pull/93433
It also doesn't cause any change in diagnostics in
mizvekov wrote:
I think the fix for the breakage is to just pin the new test to a fixed triple
like so `-triple x86_64-linux-gnu`.
https://github.com/llvm/llvm-project/pull/81545
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/93758
>From 5ecb3c36d40bb4a361b9af8776e9c4e45fa15b8d Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Wed, 29 May 2024 22:23:01 -0300
Subject: [PATCH] [clang] CWG150: add tests and change to unreleased
---
mizvekov wrote:
@nikic Thanks for the heads-up. I expected some impact. There are some ideas to
regain that loss in follow up work.
https://github.com/llvm/llvm-project/pull/93433
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/93766
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/93758
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/93766
>From 774fa391d3ba427adf81919c361dd4f01e72d6a1 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Thu, 30 May 2024 01:24:53 -0300
Subject: [PATCH] [clang] text ast-dumper: dump TemplateName for TST and DTST
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/93766
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov requested changes to this pull request.
Please include test case.
https://github.com/llvm/llvm-project/pull/94659
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/94756
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mizvekov wrote:
@kadircet @yozhu FYI this fixes the problem you reported.
https://github.com/llvm/llvm-project/pull/94756
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov created
https://github.com/llvm/llvm-project/pull/94756
This fixes a regression introduced with the changes in
https://github.com/llvm/llvm-project/pull/93433 around preservation of
TemplateName sugar in template type deduction.
Since the argument side TST is
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/92957
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2923,10 +2920,9 @@ class TreeTransform {
}
return getSema().BuildMemberReferenceExpr(Base, BaseType, OpLoc, isArrow,
- SS, TemplateKWLoc,
- FirstQualifierInScope,
-
https://github.com/mizvekov approved this pull request.
LGTM save a few minor cleanups needed.
I think this patch has an incredible amount of noise due to amount of cosmetic
changes caused by reformatting, specially due to changing parameters and such.
This is fine for now and I am not
@@ -548,6 +575,7 @@ bool Sema::BuildCXXNestedNameSpecifier(Scope *S,
NestedNameSpecInfo ,
// Perform unqualified name lookup in the current scope.
LookupName(Found, S);
}
+#endif
mizvekov wrote:
A left-over.
@@ -390,29 +390,37 @@ bool Sema::isAcceptableNestedNameSpecifier(const
NamedDecl *SD,
/// (e.g., Base::), perform name lookup for that identifier as a
/// nested-name-specifier within the given scope, and return the result of that
/// name lookup.
-NamedDecl
mizvekov wrote:
> so after this patch, clang seems to be crashing on:
Thanks for the reproducer. Yeah this is about default argument deduction, which
doesn't involve default arguments as written in source.
I confirm the crash and it's indeed caused by changes in this patch. The fix is
very
mizvekov wrote:
@Endilll This looks good, thanks!
How will this affect test capacity? Right now, the Linux bots are lagging,
while the Windows bot is breezing through.
This is the opposite of the usual. Are we under-provisioned on Linux CI
resources? How much worse will it get when we add
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/93926
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -855,10 +855,14 @@ bool
RecursiveASTVisitor::TraverseDeclarationNameInfo(
template
bool RecursiveASTVisitor::TraverseTemplateName(TemplateName Template)
{
- if (DependentTemplateName *DTN = Template.getAsDependentTemplateName())
+ if (DependentTemplateName *DTN =
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/93926
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/93926
>From 55d946648a44e7a0b2fc45d20866f29ef4528c15 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Fri, 31 May 2024 02:53:18 -0300
Subject: [PATCH] [clang] AST Visitor: skip empty qualifiers in
https://github.com/mizvekov created
https://github.com/llvm/llvm-project/pull/93926
This change was missed in #93433.
>From dd8839b4f3294241b2a6df8bc10e869176baff72 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Fri, 31 May 2024 02:53:18 -0300
Subject: [PATCH] [clang] AST Visitor: skip
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/93926
>From db56ac3130164f570942d54686ffb39cf7d2ae33 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Fri, 31 May 2024 02:53:18 -0300
Subject: [PATCH] [clang] AST Visitor: skip empty qualifiers in
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/93926
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -855,10 +855,14 @@ bool
RecursiveASTVisitor::TraverseDeclarationNameInfo(
template
bool RecursiveASTVisitor::TraverseTemplateName(TemplateName Template)
{
- if (DependentTemplateName *DTN = Template.getAsDependentTemplateName())
+ if (DependentTemplateName *DTN =
mizvekov wrote:
@pcc https://github.com/llvm/llvm-project/pull/93926 should fix it, can you
double check that it gets all issues?
https://github.com/llvm/llvm-project/pull/93433
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
mizvekov wrote:
I could agree on being const correct here, but mostly by removing const, not
adding more, in the general case.
The problem here is that this is such a big code base, and where some times
parameters can be passed down from function to function for a very long depth,
that this
mizvekov wrote:
LGTM as well, thanks!
https://github.com/llvm/llvm-project/pull/93556
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -947,6 +947,26 @@ void TextNodeDumper::dumpDeclRef(const Decl *D, StringRef
Label) {
});
}
+void TextNodeDumper::dumpTemplateArgument(const TemplateArgument ) {
+ llvm::SmallString<128> Str;
+ {
+llvm::raw_svector_ostream SS(Str);
+TA.print(PrintPolicy, SS,
mizvekov wrote:
> > The problem here is the loss of the qualification on the TemplateNames
> > This patch fixes the problem, without taking any workarounds: #93433
> > It also doesn't cause any change in diagnostics in
> > `clang/test/SemaTemplate/typename-specifier-3.cpp`.
>
> I think we
mizvekov wrote:
> Should we also be updating JSONNodeDumper.cpp at the same time?
We would ideally update it as well.
Not necessarily in the same PR, as it's a separate change that doesn't need to
be synchronized.
It's just not important to me, because I don't personally use the JSON dumper
mizvekov wrote:
> :( My goal now is to fix xtensor implementation/original tests, so this is
> not a question of reduction. I need to understand where the compiler picked a
> different specialization with relaxed argument matching.
So from the reduction you can see you have a problem where
mizvekov wrote:
No, I never used templight for this. I don't know of any easy to use tools that
would work for a complex sample without modification.
Otherwise, the reduction wasn't difficult, it was mostly that creduce / cvise
are lacking steps to reduce template type aliases, and the
mizvekov wrote:
@eaeltsin You example boils down to https://godbolt.org/z/axnanxP1z:
```C++
template struct xtype_for_shape;
template class S, class X, long N>
struct xtype_for_shape> {};
template struct svector;
template struct xtype_for_shape>;
```
There is wide divergence between
@@ -947,6 +947,26 @@ void TextNodeDumper::dumpDeclRef(const Decl *D, StringRef
Label) {
});
}
+void TextNodeDumper::dumpTemplateArgument(const TemplateArgument ) {
+ llvm::SmallString<128> Str;
+ {
+llvm::raw_svector_ostream SS(Str);
+TA.print(PrintPolicy, SS,
@@ -6447,7 +6447,7 @@ bool
Sema::isTemplateTemplateParameterAtLeastAsSpecializedAs(
if (Inst.isInvalid())
return false;
- bool AtLeastAsSpecialized;
+ bool AtLeastAsSpecialized = false;
runWithSufficientStackSpace(Info.getLocation(), [&] {
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/94981
>From d12c7d50b67cd669f09b3701ccf34154876786c9 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Mon, 20 May 2024 01:15:03 -0300
Subject: [PATCH] [clang] Implement CWG2398 provisional TTP matching to class
mizvekov wrote:
There is no potential UB, this is a false positive: this lambda will always be
executed before runWithSufficientStackSpace returns.
https://github.com/llvm/llvm-project/pull/95195
___
cfe-commits mailing list
https://github.com/mizvekov approved this pull request.
LGTM, Thanks!
https://github.com/llvm/llvm-project/pull/95190
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
401 - 500 of 541 matches
Mail list logo