sdkrystian wrote:
@AaronBallman @cor3ntin @mizvekov So, I've made improvements to our
implementation of `isTemplateArgumentList` that allow us to issue a warning
instead of an error for most of the cases where applying the DR breaks existing
code:
```cpp
template
struct A { int x; };
template
sdkrystian wrote:
> I am still concerned about the double error on the `t.A<1 < 4>::x` example.
The ideal outcome would be to turn the second error into a note.
How feasible to fix you think that is?
That's trivial to fix, just need to add a note variant of the "missing
template" diagnostic.
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/100392
>From c4f8a620a2a4692c9fa27b41f7e86c8cb042e533 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 24 Jul 2024 10:15:47 -0400
Subject: [PATCH] [Clang][Sema] Make UnresolvedLookupExprs in class scope
@@ -767,6 +757,7 @@ bool Sema::BuildCXXNestedNameSpecifier(Scope *S,
NestedNameSpecInfo &IdInfo,
else
Diag(IdInfo.IdentifierLoc, diag::err_undeclared_var_use)
<< IdInfo.Identifier;
+#endif
sdkrystian wrote:
Yeah, these changes shouldn't really b
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/96364
>From 037fb12412e9b3787e91d0a8ca826e098eab4e85 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 12 Jun 2024 14:14:26 -0400
Subject: [PATCH 1/7] [Clang][Parse] Fix ambiguity with nested-name-specif
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/96364
>From 037fb12412e9b3787e91d0a8ca826e098eab4e85 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 12 Jun 2024 14:14:26 -0400
Subject: [PATCH 1/8] [Clang][Parse] Fix ambiguity with nested-name-specif
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/96364
>From 691b0d3b23aa89af08ff6b1f4e09ff62c4b36ef6 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 12 Jun 2024 14:14:26 -0400
Subject: [PATCH 1/8] [Clang][Parse] Fix ambiguity with nested-name-specif
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/96364
>From 496e0cf24b07622bd9354297c20091c2057a55c6 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 12 Jun 2024 14:14:26 -0400
Subject: [PATCH 1/8] [Clang][Parse] Fix ambiguity with nested-name-specif
sdkrystian wrote:
I think this is ready to merge. I have [a
branch](https://github.com/sdkrystian/llvm-project/tree/perf/backtrack-raii)
which fully implements annotated/unannotated preprocessor backtrack using RAII
objects, but I think this is beyond the scope of this PR.
https://github.com/
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/96364
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
I've further improved `isTemplateArgumentList` so we only consider `<` as the
start of a potential template-argument-list if it follows an _identifier_ or
the name in an _operator-function-id_/_literal-operator-id_ when trying to find
the closing `>`. Also, explicit casts (a
https://github.com/sdkrystian edited
https://github.com/llvm/llvm-project/pull/100425
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
Also added support for names prefixed with the `template` keyword.
https://github.com/llvm/llvm-project/pull/100425
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
With these changes, we can now issue warnings for the missing `template`
keyword in the _vast_ majority of cases:
```cpp
template
struct A { int x; };
template
struct B { int x; };
template
struct C { int x; };
template
struct D { int x; };
template
constexpr inline int V =
sdkrystian wrote:
With these changes, we can now issue warnings for the missing `template`
keyword in the _vast_ majority of cases:
```cpp
template
struct A { int x; };
template
struct B { int x; };
template
struct C { int x; };
template
struct D { int x; };
template
constexpr inline int V =
@@ -1779,6 +1779,42 @@ void Parser::checkPotentialAngleBracket(ExprResult
&PotentialTemplateName) {
Priority);
}
+bool Parser::isMissingTemplateKeywordBeforeScope(bool AnnotateInvalid) {
+ assert(Tok.is(tok::coloncolon));
+ Sema::DisableTypoCorrectionRAI
https://github.com/sdkrystian edited
https://github.com/llvm/llvm-project/pull/100425
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1779,6 +1779,42 @@ void Parser::checkPotentialAngleBracket(ExprResult
&PotentialTemplateName) {
Priority);
}
+bool Parser::isMissingTemplateKeywordBeforeScope(bool AnnotateInvalid) {
+ assert(Tok.is(tok::coloncolon));
+ Sema::DisableTypoCorrectionRAI
https://github.com/sdkrystian edited
https://github.com/llvm/llvm-project/pull/100425
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
@cor3ntin Well, if the alternative is not implementing the resolution at all
I'll look into the feasibility of identifying missing `template` keywords in
the non-type template parameter case. If I can get that working, I think it's
pretty safe to reland this patch.
Also, I r
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/96364
>From 0d0a1e242db6a117ffb37ab4ce3d72e6adf26a2e Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 12 Jun 2024 14:14:26 -0400
Subject: [PATCH 1/4] [Clang][Parse] Fix ambiguity with nested-name-specif
sdkrystian wrote:
I have a [new
branch](https://github.com/sdkrystian/llvm-project/tree/reapply-cwg-1835-again)
ready where:
- We only apply the resolution to CWG1835 in C++23 and later, and
- We issue a diagnostic when its application results in a missing template
keyword that breaks whatever
sdkrystian wrote:
> Another option would be to apply the resolution to all modes, but recover and
> issue a warning instead of an error. How feasible would that be?
@mizvekov Without unannotated tentative parsing (to be _properly_ introduced by
#96364), issuing a warning is infeasible. Either
sdkrystian wrote:
> > @mizvekov Without unannotated tentative parsing (to be _properly_
> > introduced by #96364), issuing a warning is infeasible. Either way, by the
> > time we detect the error we could be who knows how deep into the second
> > operand of a `>` operator.
>
> So when we are
sdkrystian wrote:
> > I'm also seeing a hard "missing 'template' keyword prior to dependent
> > template name" error when building the 510.parest_r benchmark from SPEC CPU
> > 2017
>
> Hitting this same error compiling the ares emulator on 19.
Could either of you provide an example @KyunLFA @
sdkrystian wrote:
> Independent of the other issues, it looks like this also re-introduces #98878
@nico #98878 still occurs without this patch applied:
```cpp
struct A
{
void f();
};
template
int g(T t)
{
using U = A; // clang 18.1: 'warning: unused type alias 'U''
t.U::f();
}
```
sdkrystian wrote:
> > We already do that :) the problem is when what follows `A` _doesn't_
> > unambiguously look like a template argument list:
>
> Sure, but before CWG1835, we would perform the lookup anyway and treat the
> `<0>` as a template argument list, even if it isn't unambiguously a
sdkrystian wrote:
@mizvekov Consider a slightly altered version of the motivating example [in the
DR](https://cplusplus.github.io/CWG/issues/1835.html):
```cpp
template void end();
template
bool Foo(T it0, T it1)
{
return it0->end < it1->end || it0->end > it1->end;
}
```
`< it1->end || it0
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/98563
>From 5cefddec13ca2bafb58a6f714fd2bef435166c8d Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 11 Jul 2024 18:28:50 -0400
Subject: [PATCH 1/2] [Clang][AST] Don't use canonical type when checking
sdkrystian wrote:
[Ping](https://github.com/llvm/llvm-project/pull/98547#issuecomment-2240040530)
@cor3ntin @AaronBallman.
https://github.com/llvm/llvm-project/pull/98547
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/98563
>From 5cefddec13ca2bafb58a6f714fd2bef435166c8d Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 11 Jul 2024 18:28:50 -0400
Subject: [PATCH 1/2] [Clang][AST] Don't use canonical type when checking
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/84050
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/90104
None
>From 3999d7bab286fd3228254700514695610c1a3bee Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 15:03:59 -0400
Subject: [PATCH] [Clang][Sema] Fix warnings after #84050
---
clan
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/90104
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
@pranavk @ilovepi I have a potential fix ready... give me a few to test some
edge cases
https://github.com/llvm/llvm-project/pull/84050
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/l
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/90152
Reapplies #84050, addressing a bug which cases a crash when an expression with
the type of the current instantiation is used as the _postfix-expression_ in a
class member access expression (arrow form).
>Fro
sdkrystian wrote:
Will add tests tomorrow...
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 6ea7f9d476910681ad01e2fe4525fb4d2c556c6f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/2] Reapply "[Clang][Sema] Diagnose class member access
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 6ea7f9d476910681ad01e2fe4525fb4d2c556c6f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/2] Reapply "[Clang][Sema] Diagnose class member access
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 6ea7f9d476910681ad01e2fe4525fb4d2c556c6f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/2] Reapply "[Clang][Sema] Diagnose class member access
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 6ea7f9d476910681ad01e2fe4525fb4d2c556c6f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/4] Reapply "[Clang][Sema] Diagnose class member access
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 6ea7f9d476910681ad01e2fe4525fb4d2c556c6f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/4] Reapply "[Clang][Sema] Diagnose class member access
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 99d48cf8ae4987eb747f3baf128265dadb7d2038 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/2] Reapply "[Clang][Sema] Diagnose class member access
sdkrystian wrote:
@erichkeane I placed all the new changes into a [single
commit](https://github.com/llvm/llvm-project/pull/90152/commits/b8fda8106405eed0c234802fff8eecde53f2562e)
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing
sdkrystian wrote:
Tests have already been added :) @erichkeane
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/90478
On windows, running unit tests by directly invoking `llvm-lit.py` (e.g.
`python3 llvm-lit.py clang/test/Unit`) will (at least on my system) create a
folder named `%SystemDrive%` in the working directory. This
@@ -32,6 +32,8 @@
if "HOME" in os.environ:
config.environment["HOME"] = os.environ["HOME"]
+if "SystemDrive" in os.environ:
+config.environment["SystemDrive"] = os.environ["SystemDrive"]
sdkrystian wrote:
Sure
https://github.com/llvm/llvm-project/pul
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90478
>From b52984893c1f83963f90c4784e17f4cf2243e046 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Mon, 29 Apr 2024 10:01:14 -0400
Subject: [PATCH 1/2] [Clang] Propagate 'SystemDrive' environment variable
sdkrystian wrote:
@cor3ntin Updated
https://github.com/llvm/llvm-project/pull/90478
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/90478
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/90500
Currently, clang postpones all semantic analysis of unary operators with
operands of pointer/pointer to member/array/function type until instantiation
whenever that type is dependent (e.g. `T*` where `T` is a
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90500
>From 6a2d3719508fbd765a97e81688ae06996e7daf21 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 08:17:21 -0400
Subject: [PATCH] [Clang][Sema] Earlier type checking for builtin unary
o
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/90517
According to [[class.mem.general]
p8](http://eel.is/c++draft/class.mem.general#8):
> A complete-class context of a class (template) is a
> - function body,
> - default argument,
> - default template argument,
sdkrystian wrote:
Note: This still needs a release note + test updates
https://github.com/llvm/llvm-project/pull/90517
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
This actually requires a little more work... (the delayed exception
specification parsing code seems to only expect `CXXMethodDecl`s). I'll take
care of that tomorrow.
https://github.com/llvm/llvm-project/pull/90517
___
cfe-commits
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90517
>From 3f5feb2b17c06f6e001e9324e90eef07fd720539 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Mon, 29 Apr 2024 15:34:40 -0400
Subject: [PATCH 1/2] [Clang][Parse] Delay parsing of noexcept-specifiers
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90517
>From 3f5feb2b17c06f6e001e9324e90eef07fd720539 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Mon, 29 Apr 2024 15:34:40 -0400
Subject: [PATCH 1/2] [Clang][Parse] Delay parsing of noexcept-specifiers
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90517
>From 3f5feb2b17c06f6e001e9324e90eef07fd720539 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Mon, 29 Apr 2024 15:34:40 -0400
Subject: [PATCH 1/3] [Clang][Parse] Delay parsing of noexcept-specifiers
https://github.com/sdkrystian edited
https://github.com/llvm/llvm-project/pull/90517
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90517
>From eece4c22a0431ce64d159bf15218c1dfc1771c5f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Mon, 29 Apr 2024 15:34:40 -0400
Subject: [PATCH 1/3] [Clang][Parse] Delay parsing of noexcept-specifiers
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90517
>From eece4c22a0431ce64d159bf15218c1dfc1771c5f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Mon, 29 Apr 2024 15:34:40 -0400
Subject: [PATCH 1/3] [Clang][Parse] Delay parsing of noexcept-specifiers
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90517
>From eece4c22a0431ce64d159bf15218c1dfc1771c5f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Mon, 29 Apr 2024 15:34:40 -0400
Subject: [PATCH 1/4] [Clang][Parse] Delay parsing of noexcept-specifiers
sdkrystian wrote:
PR updated with full implementation, tests, and release note
https://github.com/llvm/llvm-project/pull/90517
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90517
>From eece4c22a0431ce64d159bf15218c1dfc1771c5f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Mon, 29 Apr 2024 15:34:40 -0400
Subject: [PATCH 1/4] [Clang][Parse] Delay parsing of noexcept-specifiers
sdkrystian wrote:
@tmatheson-arm This breaks builds without the `AArch64` target enabled (e.g.
`LLVM_TARGETS_TO_BUILD=X86` )
https://github.com/llvm/llvm-project/pull/90320
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org
@@ -4101,8 +4101,8 @@ class Sema final : public SemaBase {
/// (or member function template). The exception-specification was parsed
/// after the method itself was declared.
void actOnDelayedExceptionSpecification(
- Decl *Method, ExceptionSpecificationType EST,
-
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90517
>From b942879801617a9642c3298bafaa6e21f22f42a7 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Mon, 29 Apr 2024 15:34:40 -0400
Subject: [PATCH 1/5] [Clang][Parse] Delay parsing of noexcept-specifiers
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 2d613e80a59d69a263eaa713d080b97c307fe91b Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/2] Reapply "[Clang][Sema] Diagnose class member access
sdkrystian wrote:
Ping @AaronBallman
https://github.com/llvm/llvm-project/pull/81642
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
I'd like someone to review the AST matcher changes (the code owner listed in
`CodeOwners.rst` appears to be inactive).
https://github.com/llvm/llvm-project/pull/81642
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://li
sdkrystian wrote:
@cor3ntin What's the deadline?
https://github.com/llvm/llvm-project/pull/104458
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -809,8 +809,9 @@ class RedeclarableTemplateDecl : public TemplateDecl,
};
/// Pointer to the common data shared by all declarations of this
- /// template.
- mutable CommonBase *Common = nullptr;
+ /// template, and a flag indicating if the template is a member
+ //
@@ -317,7 +317,8 @@ struct ConvertConstructorToDeductionGuideTransform {
}
if (NestedPattern)
- OuterInstantiationArgs = SemaRef.getTemplateInstantiationArgs(Template);
+ OuterInstantiationArgs = SemaRef.getTemplateInstantiationArgs(
+ /*D=*/nullptr,
@@ -1056,16 +1052,20 @@ bool Sema::AreConstraintExpressionsEqual(const
NamedDecl *Old,
bool Sema::FriendConstraintsDependOnEnclosingTemplate(const FunctionDecl *FD) {
assert(FD->getFriendObjectKind() && "Must be a friend!");
+ FunctionTemplateDecl *FTD = FD->getDescribedFu
@@ -171,374 +139,379 @@ bool isLambdaEnclosedByTypeAliasDecl(
.TraverseType(Underlying);
}
-// Add template arguments from a variable template instantiation.
-Response
-HandleVarTemplateSpec(const VarTemplateSpecializationDecl *VarTemplSpec,
-
@@ -1669,25 +1640,43 @@ namespace {
ExprResult RebuildLambdaExpr(SourceLocation StartLoc, SourceLocation
EndLoc,
LambdaScopeInfo *LSI) {
+#if 1
CXXMethodDecl *MD = LSI->CallOperator;
- for (ParmVarDecl *PVD : MD->parameters())
https://github.com/sdkrystian edited
https://github.com/llvm/llvm-project/pull/106585
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
> Also, do you plan to fix #102320 in this or the follow-up patches?
@zyn0217 This patch (in its current state) fixes #102320 :)
https://github.com/llvm/llvm-project/pull/106585
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/sdkrystian edited
https://github.com/llvm/llvm-project/pull/106585
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -33,11 +33,12 @@ class D{}; // expected-note{{previous definition is here}}
template
class D{}; // expected-error{{class template partial specialization does
not specialize any template argument; to define the primary template, remove
the template argument list}} expected-e
@@ -2112,6 +2078,33 @@ DeclResult Sema::CheckClassTemplate(
NewClass->setLexicalDeclContext(CurContext);
NewTemplate->setLexicalDeclContext(CurContext);
+ // Ensure that the template parameter lists are compatible. Skip this check
+ // for a friend in a dependent context
sdkrystian wrote:
@cor3ntin After giving it another look, I think the existing tests are
sufficient (the tests updated by this PR were written by me to test this exact
scenario). WDYT?
https://github.com/llvm/llvm-project/pull/104458
___
cfe-commits
sdkrystian wrote:
Ping @mizvekov
https://github.com/llvm/llvm-project/pull/106585
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
@cor3ntin Excellent, then I think this is good to go
https://github.com/llvm/llvm-project/pull/104458
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -7939,7 +7927,14 @@ ExprResult Sema::ActOnStartCXXMemberReference(Scope *S,
Expr *Base,
}
}
return ExprError();
+ } else if (Result.isUnset()) {
+// BuildOverloadedArrowExpr returns an empty expression to indicate
+// that we n
@@ -7939,7 +7927,14 @@ ExprResult Sema::ActOnStartCXXMemberReference(Scope *S,
Expr *Base,
}
}
return ExprError();
+ } else if (Result.isUnset()) {
+// BuildOverloadedArrowExpr returns an empty expression to indicate
+// that we n
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/104458
>From a719de89be6af3607f67baddd8868f8e0fc7882f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 15 Aug 2024 11:27:34 -0400
Subject: [PATCH 1/3] [Clang][Sema] Use the correct lookup context when
@@ -7981,7 +7969,7 @@ ExprResult Sema::ActOnStartCXXMemberReference(Scope *S,
Expr *Base,
SmallVector OperatorArrows;
CTypes.insert(Context.getCanonicalType(BaseType));
-while (BaseType->isRecordType()) {
+while (BaseType->getAsRecordDecl()) {
sdkrystian wrote:
@mizvekov My initial implementation used the existing
`UnannotatedTentativeParsingAction` implementation, but that had a
_significant_ performance hit (7% vs 0.01%) compared to the new implementation.
My new implementation of `UnannotatedTentativeParsingAction` is also more
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/98167
The following code causes [this
assert](https://github.com/llvm/llvm-project/blob/main/clang/lib/Sema/SemaExprMember.cpp#L981)
to fail:
```cpp
struct A { };
struct B;
void f(A *x) {
x->B::y; // crash here
https://github.com/sdkrystian edited
https://github.com/llvm/llvm-project/pull/98167
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/98167
>From 57b79eb4ac71bfe13fbcece0c86ec0c9b7604494 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Tue, 9 Jul 2024 11:03:14 -0400
Subject: [PATCH] [Clang][Sema] Handle class member access expressions with
https://github.com/sdkrystian edited
https://github.com/llvm/llvm-project/pull/98167
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
@cor3ntin This fixes a bug introduced in this release, so I don't believe a
release note is needed.
https://github.com/llvm/llvm-project/pull/98167
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-b
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/97455
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/98167
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian closed
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
sdkrystian wrote:
@chapuni This fixes the Ubuntu-20.04 g++ build issues you brought up in #98252.
https://github.com/llvm/llvm-project/pull/98547
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cf
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/98547
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/96364
>From 29f2e6e418d61de15453dbfca77ede0126b6d384 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 12 Jun 2024 14:14:26 -0400
Subject: [PATCH 1/2] [Clang][Parse] Fix ambiguity with nested-name-specif
501 - 600 of 975 matches
Mail list logo