https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/91837
___
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/91837
>From 1a5b4761ba804a0998faf009370d74fa486014d9 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Sat, 11 May 2024 00:42:27 -0300
Subject: [PATCH] Revert "[clang] Revert default behavior change of P0522R0
imp
https://github.com/mizvekov ready_for_review
https://github.com/llvm/llvm-project/pull/91837
___
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/91837
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mizvekov wrote:
The fix was committed, and we just reverted the revert, so default is back to
`-frelaxed-template-template-args`.
https://github.com/llvm/llvm-project/pull/89807
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llv
https://github.com/mizvekov approved this pull request.
LGTM, Thanks!
https://github.com/llvm/llvm-project/pull/92299
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mizvekov wrote:
> Would it be reasonable to add a
> `-Wno-deprecated-relaxed-template-template-args` flag (or something like
> that) for this specific deprecation?
I had similar idea, but what about instead implementing something generic to
ignore deprecation of any driver flag?
https://gith
mizvekov wrote:
Regarding @joanahalili 's post
Does it sound good for everyone that we revert the deprecation of the positive
spelling of the flag for a while, until we come up with a patch for a new flag
which helps ignore these deprecations?
https://github.com/llvm/llvm-project/pull/89807
mizvekov wrote:
> I think I prefer pretty fine-grained ones TBH, it makes our deprecation
> warnings more valuable. In a perfect world, it would change every release of
> the compiler so that folks would be frequently reminded of it, but it isn't a
> perfect world :)
I meant something fine gr
https://github.com/mizvekov created
https://github.com/llvm/llvm-project/pull/92324
This allows the warning to be disabled in isolation, as it helps when treating
them as errors.
>From 8b70909746ec85483b6d7f54fec4989956fb4c21 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Wed, 15 May 20
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/92324
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mizvekov wrote:
@joanahalili This is now merged in main:
https://github.com/llvm/llvm-project/pull/92324
You can pass `-Wno-deprecated-no-relaxed-template-template-args` to disable the
deprecation warning for `-fno-relaxed-template-template-args` specifically,
without affecting other warnings
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/90820
>From c4b72afa655c0e35005dca8aea18e651189f8938 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Wed, 1 May 2024 22:29:45 -0300
Subject: [PATCH] [clang] Implement provisional wording for CWG2398 regarding
pa
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/90820
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -5591,7 +5592,11 @@ FunctionTemplateDecl *Sema::getMoreSpecializedTemplate(
IsRValRef1);
Args2.push_back(Obj2Ty);
}
-size_t NumComparedArguments = NumCallArguments1 + ShouldConvert1;
+size_t NumComparedArguments
Author: Matheus Izvekov
Date: 2024-05-16T02:45:50-03:00
New Revision: 70a926cfb1d4af326be5afe6419991aeff8f44b2
URL:
https://github.com/llvm/llvm-project/commit/70a926cfb1d4af326be5afe6419991aeff8f44b2
DIFF:
https://github.com/llvm/llvm-project/commit/70a926cfb1d4af326be5afe6419991aeff8f44b2.dif
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/90820
>From 39e0af93163068f8de190649eccf91fda84178b6 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Wed, 1 May 2024 22:29:45 -0300
Subject: [PATCH] [clang] Implement provisional wording for CWG2398 regarding
pa
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/90820
___
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/90820
___
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/90820
___
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/90820
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mizvekov wrote:
That test was merged after the last time pre-commit CI was run on this MR.
The change looks like a consequence of my refactoring, we now preserve the type
sugar from the injected arguments.
https://github.com/llvm/llvm-project/pull/90820
mizvekov wrote:
The quick fix would be to change the expectations of the test, I can do it for
you.
https://github.com/llvm/llvm-project/pull/90820
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo
mizvekov wrote:
Weirdly enough the test passes on my machine, latest MacOS.
Maybe the test is not constrained on target, and this is causing differences
between machines?
https://github.com/llvm/llvm-project/pull/90820
___
cfe-commits mailing list
cf
mizvekov wrote:
Yep, I confirm the behavior happens if I add `-triple x86_64-windows-msvc` to
RUN line.
https://github.com/llvm/llvm-project/pull/90820
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/list
Author: Matheus Izvekov
Date: 2024-05-16T19:56:45-03:00
New Revision: f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f
URL:
https://github.com/llvm/llvm-project/commit/f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f
DIFF:
https://github.com/llvm/llvm-project/commit/f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f.dif
Author: Matheus Izvekov
Date: 2024-05-16T19:56:45-03:00
New Revision: fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e
URL:
https://github.com/llvm/llvm-project/commit/fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e
DIFF:
https://github.com/llvm/llvm-project/commit/fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e.dif
mizvekov wrote:
I just pushed a fix.
https://github.com/llvm/llvm-project/pull/90820
___
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.
LGTM, thanks for the fix!
https://github.com/llvm/llvm-project/pull/92263
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mizvekov wrote:
I just double checked, the issue is present on main before this PR was merged,
it's completely unrelated.
https://github.com/llvm/llvm-project/pull/90820
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cg
mizvekov wrote:
I already fixed this. We just had to constrain the triple, as there are
differences in size_t underlying type which affect diagnostics.
https://github.com/llvm/llvm-project/pull/92389
___
cfe-commits mailing list
cfe-commits@lists.llvm
mizvekov wrote:
No problem!
It looks like this example is salvageable, nothing is stopping us from just
applying the same rules when deducing a template template parameter against
other kinds of templates.
This shouldn't stop you from cleaning up the code, whatever rules we come up
here are
mizvekov wrote:
Was there ever an RFC on this whole 'splitting up Sema' project?
I have my own reservations as well.
I think starting up from the easier bits is a risky proposition, as we might
realize this whole thing will fail when we get to the harder parts.
I also think this can lead in t
https://github.com/mizvekov approved this pull request.
The change itself looks pretty good, but note that GCC only warns about this,
and more importantly MSVC still accepts the code without complaint.
So this means that we could find out from user feedback that we will need to
keep the old be
https://github.com/mizvekov approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/92318
___
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-20T22:49:53-03:00
New Revision: 4cebe5a43ba83eab477358ef4da665b43463bb68
URL:
https://github.com/llvm/llvm-project/commit/4cebe5a43ba83eab477358ef4da665b43463bb68
DIFF:
https://github.com/llvm/llvm-project/commit/4cebe5a43ba83eab477358ef4da665b43463bb68.dif
https://github.com/mizvekov created
https://github.com/llvm/llvm-project/pull/92852
This is an enabler for a future patch.
>From 22964061e46ef0d37904f6c8e757dca9800c5cd0 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Mon, 20 May 2024 00:39:55 -0300
Subject: [PATCH] [clang] NFCI: use Temp
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
@@ -1435,7 +1436,10 @@ class NonTypeTemplateParmDecl final
bool hasDefaultArgument() const { return DefaultArgument.isSet(); }
/// Retrieve the default argument, if any.
- Expr *getDefaultArgument() const { return DefaultArgument.get(); }
+ const TemplateArgumentLoc &get
mizvekov wrote:
> Can you try to explain the what the patch does more and describe the
> rationale?
Done.
https://github.com/llvm/llvm-project/pull/92852
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/l
mizvekov wrote:
@erichkeane this is kind of the same as
https://github.com/llvm/llvm-project/pull/92854, but for NTTP instead of
type-parameters.
https://github.com/llvm/llvm-project/pull/92852
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
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 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
DefaultA
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 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
DefaultArgumen
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
DefaultArgumen
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 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
https://lists.llvm.org/cgi-bin/mailman/listinfo/cf
@@ -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 name}
@@ -6891,7 +6891,7 @@ class Sema final : public SemaBase {
const TemplateArgumentListInfo *TemplateArgs);
ExprResult ActOnMemberAccessExpr(Scope *S, Expr *Base, SourceLocation OpLoc,
- tok::TokenKind OpKind, CXXScopeSpec &SS,
+
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,
mi
@@ -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, NNS->get
@@ -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 prop
@@ -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 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
@@ -11298,8 +11298,9 @@ static void DiagnoseBadConversion(Sema &S,
OverloadCandidate *Cand,
Expr *FromExpr = Conv.Bad.FromExpr;
QualType FromTy = Conv.Bad.getFromType();
QualType ToTy = Conv.Bad.getToType();
- SourceRange ToParamRange =
- !isObjectArgument ? Fn->ge
@@ -11298,8 +11298,9 @@ static void DiagnoseBadConversion(Sema &S,
OverloadCandidate *Cand,
Expr *FromExpr = Conv.Bad.FromExpr;
QualType FromTy = Conv.Bad.getFromType();
QualType ToTy = Conv.Bad.getToType();
- SourceRange ToParamRange =
- !isObjectArgument ? Fn->ge
https://github.com/mizvekov closed
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 created
https://github.com/llvm/llvm-project/pull/93124
When printing template arguments of the template kind, a canonical template
template parameter would be printed as an empty string.
This fixes it so they are printed similarly to canonical template type
parame
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/93124
___
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/93079
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -11298,8 +11298,9 @@ static void DiagnoseBadConversion(Sema &S,
OverloadCandidate *Cand,
Expr *FromExpr = Conv.Bad.FromExpr;
QualType FromTy = Conv.Bad.getFromType();
QualType ToTy = Conv.Bad.getToType();
- SourceRange ToParamRange =
- !isObjectArgument ? Fn->ge
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/93079
___
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://lists.llvm.org/cgi-bin/mailman/listinfo/
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 Izveko
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
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,
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/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 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
@@ -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: Warni
mizvekov wrote:
We usually create new tests under the latest standard.
https://github.com/llvm/llvm-project/pull/93265
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/lis
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/93265
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -11298,8 +11298,9 @@ static void DiagnoseBadConversion(Sema &S,
OverloadCandidate *Cand,
Expr *FromExpr = Conv.Bad.FromExpr;
QualType FromTy = Conv.Bad.getFromType();
QualType ToTy = Conv.Bad.getToType();
- SourceRange ToParamRange =
- !isObjectArgument ? Fn->ge
https://github.com/mizvekov edited
https://github.com/llvm/llvm-project/pull/93079
___
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.
Can you also add a test based on my example?
With also a variant on that in which the bad conversion happens on the last
element of the pack, instead of the last parameter.
Lastly, please namespace the tests with the name of, or add a com
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/93265
>From 2546c2c5d9e1bc6d1d4ddd818b4017073f17cec0 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Thu, 23 May 2024 21:23:21 -0300
Subject: [PATCH] [clang] Avoid crash due to unimplemented StructuralValue
supp
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/93265
___
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/93266
___
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/93266
>From 5b592204ddef177d612f8455f4e14ab9cf9c06bd Mon Sep 17 00:00:00 2001
From: Matheus Izvekov
Date: Thu, 23 May 2024 23:57:01 -0300
Subject: [PATCH] [clang] add fallback to expr in the template differ when
comp
https://github.com/mizvekov closed
https://github.com/llvm/llvm-project/pull/93266
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -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 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 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
`clang/test/SemaTempla
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/93431
>From f9892ebed002d73c74f44629e926386006f7bec1 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
Author: Matheus Izvekov
Date: 2024-05-27T04:45:20-03:00
New Revision: 0f85b25f51a3e06c48b3fe8042a3de1cf0e635d7
URL:
https://github.com/llvm/llvm-project/commit/0f85b25f51a3e06c48b3fe8042a3de1cf0e635d7
DIFF:
https://github.com/llvm/llvm-project/commit/0f85b25f51a3e06c48b3fe8042a3de1cf0e635d7.dif
@@ -947,6 +947,26 @@ void TextNodeDumper::dumpDeclRef(const Decl *D, StringRef
Label) {
});
}
+void TextNodeDumper::dumpTemplateArgument(const TemplateArgument &TA) {
+ llvm::SmallString<128> Str;
+ {
+llvm::raw_svector_ostream SS(Str);
+TA.print(PrintPolicy, SS,
@@ -947,6 +947,26 @@ void TextNodeDumper::dumpDeclRef(const Decl *D, StringRef
Label) {
});
}
+void TextNodeDumper::dumpTemplateArgument(const TemplateArgument &TA) {
+ llvm::SmallString<128> Str;
+ {
+llvm::raw_svector_ostream SS(Str);
+TA.print(PrintPolicy, SS,
@@ -1086,45 +1106,100 @@ void TextNodeDumper::VisitNullTemplateArgument(const
TemplateArgument &) {
void TextNodeDumper::VisitTypeTemplateArgument(const TemplateArgument &TA) {
OS << " type";
- dumpType(TA.getAsType());
+ dumpTemplateArgument(TA);
}
void TextNodeDumpe
https://github.com/mizvekov updated
https://github.com/llvm/llvm-project/pull/93431
>From 86e3852d0501bd24738c094359799c72781ad808 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
@@ -2840,8 +2841,22 @@ buildAssociatedConstraints(Sema &SemaRef,
FunctionTemplateDecl *F,
for (unsigned Index = 0; Index < DeduceResults.size(); ++Index) {
const auto &D = DeduceResults[Index];
-if (D.isNull())
+if (D.isNull()) { // non-deduced template paramete
@@ -2840,8 +2841,22 @@ buildAssociatedConstraints(Sema &SemaRef,
FunctionTemplateDecl *F,
for (unsigned Index = 0; Index < DeduceResults.size(); ++Index) {
const auto &D = DeduceResults[Index];
-if (D.isNull())
+if (D.isNull()) { // non-deduced template paramete
101 - 200 of 823 matches
Mail list logo