https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/98027
___
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/98027
Given the following:
```cpp
template
struct A
{
void f(int); // #1
template
void f(U); // #2
template<>
void f(int); // #3
};
```
Clang will generate the same USR for `#1` and
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/97596
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian edited
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 edited
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
@@ -2896,6 +2896,9 @@ class TreeTransform {
SS.Adopt(QualifierLoc);
Base = BaseResult.get();
+if (Base->containsErrors())
+ return ExprError();
sdkrystian wrote:
@mizvekov The problems arise when we build a `MemberExpr` for a class member
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/97596
>From d041273f56d59c9f466a9bb9a60b7501daa4844f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 3 Jul 2024 10:47:23 -0400
Subject: [PATCH 1/2] [Clang][Sema] Correctly transform dependent operands
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/97425
___
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/97596
Currently, `TreeTransform::TransformCXXOperatorCallExpr` calls
`TreeTransform::TransformAddressOfOperand` to transform the first operand of a
`CXXOperatorCallExpr` when its `OverloadOperatorKind` is `OO_Amp`
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/97455
Fixes #95778
>From 5eb3be349b8ca816bec672a6a423f28c4a50b63c Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Tue, 2 Jul 2024 14:03:45 -0400
Subject: [PATCH] [Clang][Sema] Fix crash when rebuilding
sdkrystian wrote:
> I've been hinted though that Clang may be incorrect in accepting explicit
> specializations of a templated static class data member in the class scope.
> It looks like with all the restrictions in the standard it may only be
> allowed to place explicit specializations of a
sdkrystian wrote:
Ping @mizvekov @AaronBallman @cor3ntin
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:
> non-static class member
@alexfh Missed this one :) Opened a PR to fix this
[here](https://github.com/llvm/llvm-project/pull/97425).
https://github.com/llvm/llvm-project/pull/93873
___
cfe-commits mailing list
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/97425
After #93873 clang no longer permits declarations of explicit specializations
of static data member templates to use the `auto` _placeholder-type-specifier_:
```cpp
struct A {
template
static constexpr
sdkrystian wrote:
@pawosm-arm Could you provide some examples? Barring an issue with `operator=`
which has been addressed, builds should only fail in the presence of accesses
to non-existent members. Addressing such issues is the responsibility of users.
https://github.com/sdkrystian approved this pull request.
Minor nit: Probably don't need to explicitly define a diagnostic group, since
it's only ever used for this diagnostic.
https://github.com/llvm/llvm-project/pull/96699
___
cfe-commits mailing
https://github.com/sdkrystian edited
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
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/96364
Consider the following:
```cpp
template
struct A { };
template
int A::B::* f(); // error: no member named 'B' in 'A'
```
Although this is clearly valid, clang rejects it because the
_nested-name-specifier_
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/93873
___
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/93873
>From 40b69a190a1af610d946108394a38e3ac93dbd71 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Tue, 28 May 2024 07:42:06 -0400
Subject: [PATCH 1/5] [Clang][Sema] Diagnose variable template explicit
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/93873
>From 40b69a190a1af610d946108394a38e3ac93dbd71 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Tue, 28 May 2024 07:42:06 -0400
Subject: [PATCH 1/4] [Clang][Sema] Diagnose variable template explicit
https://github.com/sdkrystian approved this pull request.
LGTM
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
@@ -1442,19 +1442,27 @@ SourceLocation
CXXUnresolvedConstructExpr::getBeginLoc() const {
CXXDependentScopeMemberExpr::CXXDependentScopeMemberExpr(
const ASTContext , Expr *Base, QualType BaseType, bool IsArrow,
SourceLocation OperatorLoc, NestedNameSpecifierLoc
sdkrystian wrote:
@erichkeane Hoping you can review this before your break!
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
@@ -6088,9 +6088,9 @@ def err_redefinition_different_concept : Error<
"redefinition of concept %0 with different template parameters or
requirements">;
def err_tag_reference_non_tag : Error<
"%select{non-struct type|non-class type|non-union type|non-enum "
-
@@ -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/sdkrystian approved this pull request.
LGTM
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
sdkrystian wrote:
This does seem to cause an error in libstdc++:
```
include/c++/11/bits/shared_ptr.h:365:10: error: use 'template' keyword to treat
'__shared_ptr' as a dependent template name
this->__shared_ptr<_Tp>::operator=(__r);
^
```
Since `this` is dependent (it's of
https://github.com/sdkrystian 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
sdkrystian wrote:
> > Per [[basic.lookup.qual.general]
> > p1](http://eel.is/c++draft/basic.lookup.qual.general#1), lookup for a
> > member-qualified name is type-only if it's an identifier followed by ::;
>
> Per my reading, type-only lookup is performed only for elaborated type
>
sdkrystian wrote:
Ping @erichkeane @shafik @Endilll (not sure if drafts send emails for review
requests)
https://github.com/llvm/llvm-project/pull/92957
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
sdkrystian wrote:
I still need to add more comments and a release note, but this is otherwise
functionally complete
https://github.com/llvm/llvm-project/pull/92957
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/sdkrystian ready_for_review
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:
I added support for unqualified lookup finding multiple declarations in the
most recent commits, fixing the crash the currently happens on clang assertions
trunk for the following ([godbolt link](https://godbolt.org/z/rEzo76qr5)):
```cpp
inline namespace N
{
struct A { };
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/93873
>From e638448bce1dd529acbf81592f324bdc1ecb3e19 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Tue, 28 May 2024 07:42:06 -0400
Subject: [PATCH 1/3] [Clang][Sema] Diagnose variable template explicit
sdkrystian wrote:
@mizvekov GCC seems to be right; [[decl.meaning.general]
p3.3](eel.is/c++draft/dcl.meaning.general#3.3) requires that the specialized
declaration be nominable (per [[basic.scope.scope]
p7](eel.is/c++draft/basic.scope.scope#7)) in `S` (which in this case is the
global
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/93873
>From e638448bce1dd529acbf81592f324bdc1ecb3e19 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Tue, 28 May 2024 07:42:06 -0400
Subject: [PATCH 1/2] [Clang][Sema] Diagnose variable template explicit
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/93873
According to [[temp.expl.spec] p2](http://eel.is/c++draft/temp.expl.spec#2):
> The declaration in an _explicit-specialization_ shall not be an
> _export-declaration_. An explicit specialization shall not use
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92957
>From 616b2cf138f9b4a1f3a23db404f77c0603ad61e1 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Tue, 21 May 2024 13:15:24 -0400
Subject: [PATCH 1/2] [WIP][Clang] Implement resolution for CWG1835
---
https://github.com/sdkrystian approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/93457
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
@kimgr The linked code seems to only be concerned with the `SourceLocation` of
the `Decl` (which should be the same `SourceLocation` returned by
`Decl::getLocation`), and the template arguments as written (which can be
accessed via `getTemplateArgsAsWritten` per this patch).
@@ -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 <
sdkrystian wrote:
@zyn0217 Yes, both examples are of uninstantiable templates & are intended to
be diagnosed by #90152.
https://github.com/llvm/llvm-project/pull/89019
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
sdkrystian wrote:
@Endilll I'm still in the process of writing tests, but I'll add several soon.
I'm quite confident about my interpretation being correct but I just want to be
100% sure :).
At the very least this patch gets [[basic.lookup.qual.general] example
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92957
>From 4524db5ae7f3133b51328fbabd1f6188d7d3707b Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Tue, 21 May 2024 13:15:24 -0400
Subject: [PATCH 1/2] [WIP][Clang] Implement resolution for CWG1835
---
sdkrystian wrote:
(this PR is by no means complete, but I would like feedback regarding the
validity of my interpretation of the DR resolution and perhaps some guidance
with how to best go about implementing it. The currently included
implementation _works_, but I'm uncertain whether it's the
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/92957
[CWG1835](https://cplusplus.github.io/CWG/issues/1835.html) was one of the many
core issues resolved by [P1787R6: Declarations and where to find
them](http://wg21.link/p1787r6). Its resolution changes how
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/92449
___
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/92449
>From f1a55b4f341990df2dc6edd740801486ca43488a Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 16 May 2024 15:47:04 -0400
Subject: [PATCH 1/2] [Clang][Sema] Do not add implicit 'const' when
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/92597
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
Ping @cor3ntin ^
https://github.com/llvm/llvm-project/pull/88740
___
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/92597
>From 697004547e8855787e7dd248508c9453b9df7e4d Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Fri, 17 May 2024 13:30:04 -0400
Subject: [PATCH 1/8] [Clang][Sema] Diagnose current instantiation used a
https://github.com/sdkrystian closed
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
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92318
>From 72f0013122b764c7295a9b80b1f886b2eb38fb1d Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 15 May 2024 16:13:03 -0400
Subject: [PATCH 1/5] [Clang][Sema] Don't build
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92449
>From 0e73c984a4215207b2842f60ac4dcaeb63230407 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 16 May 2024 15:47:04 -0400
Subject: [PATCH 1/2] [Clang][Sema] Do not add implicit 'const' when
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/92452
___
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/92318
>From 298b2fec54595e5c3c99070cbe856a36e1b71c95 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 15 May 2024 16:13:03 -0400
Subject: [PATCH 1/5] [Clang][Sema] Don't build
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92597
>From 4a535c2f2660583487018f421788cd2b88d8428d Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Fri, 17 May 2024 13:30:04 -0400
Subject: [PATCH 1/8] [Clang][Sema] Diagnose current instantiation used a
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92597
>From 4a535c2f2660583487018f421788cd2b88d8428d Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Fri, 17 May 2024 13:30:04 -0400
Subject: [PATCH 1/7] [Clang][Sema] Diagnose current instantiation used a
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92452
>From 613560033f7bf9acb9315766291bff07ee9e9b5f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 16 May 2024 16:42:27 -0400
Subject: [PATCH 1/3] [Clang][Sema] Fix crash when diagnosing near-match
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92597
>From 4a535c2f2660583487018f421788cd2b88d8428d Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Fri, 17 May 2024 13:30:04 -0400
Subject: [PATCH 1/5] [Clang][Sema] Diagnose current instantiation used a
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92597
>From 9d95d211797843f3dc612fe4340354b5fbf6a2fe Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Fri, 17 May 2024 13:30:04 -0400
Subject: [PATCH 1/5] [Clang][Sema] Diagnose current instantiation used a
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92318
>From db264c719dfae25a536fb2452328d9aaeeea7b6f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 15 May 2024 16:13:03 -0400
Subject: [PATCH 1/4] [Clang][Sema] Don't build
sdkrystian wrote:
Closing this for now; I'll return to this once we correctly handle dependent
`operator=`.
https://github.com/llvm/llvm-project/pull/91503
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/91503
___
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/92452
>From 187eb245484e21970ac55f05a78d3221f2f07f9a Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 16 May 2024 16:42:27 -0400
Subject: [PATCH 1/3] [Clang][Sema] Fix crash when diagnosing near-match
@@ -9203,15 +9203,15 @@ static NamedDecl *DiagnoseInvalidRedeclaration(
<< Idx << FDParam->getType()
<< NewFD->getParamDecl(Idx - 1)->getType();
} else if (FDisConst != NewFDisConst) {
- SemaRef.Diag(FD->getLocation(),
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/92597
Consider the following:
```cpp
template
struct A
{
struct B : A { };
};
```
According to [[class.derived.general]
p2](http://eel.is/c++draft/class.derived.general#2):
> [...] A _class-or-decltype_ shall
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92452
>From 27fab1ec54259941e3ded174de18cd99aa89bf7e Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 16 May 2024 16:42:27 -0400
Subject: [PATCH 1/3] [Clang][Sema] Fix crash when diagnosing near-match
@@ -724,6 +724,8 @@ Bug Fixes to C++ Support
templates during partial ordering when deducing template arguments from a
function declaration or when
taking the address of a function template.
- Fix a bug with checking constrained non-type template parameters for
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92452
>From 27fab1ec54259941e3ded174de18cd99aa89bf7e Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 16 May 2024 16:42:27 -0400
Subject: [PATCH 1/2] [Clang][Sema] Fix crash when diagnosing near-match
@@ -724,6 +724,8 @@ Bug Fixes to C++ Support
templates during partial ordering when deducing template arguments from a
function declaration or when
taking the address of a function template.
- Fix a bug with checking constrained non-type template parameters for
@@ -9203,15 +9203,15 @@ static NamedDecl *DiagnoseInvalidRedeclaration(
<< Idx << FDParam->getType()
<< NewFD->getParamDecl(Idx - 1)->getType();
} else if (FDisConst != NewFDisConst) {
- SemaRef.Diag(FD->getLocation(),
@@ -1527,20 +1527,20 @@ struct DeclaratorChunk {
/// Retrieve the location of the 'const' qualifier.
SourceLocation getConstQualifierLoc() const {
- assert(MethodQualifiers);
- return MethodQualifiers->getConstSpecLoc();
+ return MethodQualifiers ?
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92452
>From 27fab1ec54259941e3ded174de18cd99aa89bf7e Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 16 May 2024 16:42:27 -0400
Subject: [PATCH 1/2] [Clang][Sema] Fix crash when diagnosing near-match
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92318
>From 4ae259b21661caae2a9cd89437c56f3915195682 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 15 May 2024 16:13:03 -0400
Subject: [PATCH 1/4] [Clang][Sema] Don't build
@@ -9203,15 +9203,15 @@ static NamedDecl *DiagnoseInvalidRedeclaration(
<< Idx << FDParam->getType()
<< NewFD->getParamDecl(Idx - 1)->getType();
} else if (FDisConst != NewFDisConst) {
- SemaRef.Diag(FD->getLocation(),
@@ -9203,15 +9203,15 @@ static NamedDecl *DiagnoseInvalidRedeclaration(
<< Idx << FDParam->getType()
<< NewFD->getParamDecl(Idx - 1)->getType();
} else if (FDisConst != NewFDisConst) {
- SemaRef.Diag(FD->getLocation(),
@@ -724,6 +724,8 @@ Bug Fixes to C++ Support
templates during partial ordering when deducing template arguments from a
function declaration or when
taking the address of a function template.
- Fix a bug with checking constrained non-type template parameters for
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92449
>From b56eeb2ef435f06764bac0b062a8a0e747f697d4 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 16 May 2024 15:47:04 -0400
Subject: [PATCH 1/2] [Clang][Sema] Do not add implicit 'const' when
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/92452
Clang crashes when diagnosing the following invalid redeclaration in C++11:
```cpp
struct A {
void f();
};
constexpr void A::f() { } // crash here
```
This happens because `DiagnoseInvalidRedeclaration`
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92449
>From b56eeb2ef435f06764bac0b062a8a0e747f697d4 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 16 May 2024 15:47:04 -0400
Subject: [PATCH 1/2] [Clang][Sema] Do not add implicit 'const' when
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/92449
Clang incorrectly accepts the following when using C++14 or later:
```cpp
struct A {
template
void f() const;
template<>
constexpr void f();
};
```
Non-static member functions declared `constexpr` are
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/92425
___
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/92425
>From c26365ef78366b5c200d085ddc4211db1b2054e0 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 16 May 2024 10:59:03 -0400
Subject: [PATCH 1/3] [Clang][Sema] ASTContext::getUnconstrainedType
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92425
>From c26365ef78366b5c200d085ddc4211db1b2054e0 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 16 May 2024 10:59:03 -0400
Subject: [PATCH 1/2] [Clang][Sema] ASTContext::getUnconstrainedType
@@ -723,6 +723,7 @@ Bug Fixes to C++ Support
- Clang now ignores template parameters only used within the exception
specification of candidate function
templates during partial ordering when deducing template arguments from a
function declaration or when
taking the
sdkrystian wrote:
@Caslyn [[expr.prim.this] p3](http://eel.is/c++draft/expr.prim.this#3) states:
> [...] the expression this is a prvalue of type “pointer to _cv-qualifier-seq_
> `X`” wherever `X` is the current class [...]
And [[over.match.oper] p1](http://eel.is/c++draft/over.match.oper#1)
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92425
>From c26365ef78366b5c200d085ddc4211db1b2054e0 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 16 May 2024 10:59:03 -0400
Subject: [PATCH] [Clang][Sema] ASTContext::getUnconstrainedType
https://github.com/sdkrystian edited
https://github.com/llvm/llvm-project/pull/92425
___
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/92425
When the argument passed to `ASTContext::getUnconstrainedType` is an
unconstrained `AutoType`, will return the argument unchanged. However, when
called with a constrained `AutoType`, an unconstrained,
sdkrystian wrote:
@cor3ntin I believe this causes the crash reported in #92275
https://github.com/llvm/llvm-project/pull/88740
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
> Yeah, that seems incredibly reasonable and a much lower touch here with fewer
> concerns about the side-effects that we got here.
Should I open a PR then?
https://github.com/llvm/llvm-project/pull/91842
___
cfe-commits mailing
sdkrystian wrote:
I don't think this is the right approach. I stepped though the example and the
reason we reject is because:
- We substitute a dependent `AutoType` in for the types of the template
parameters when they are initially built.
- We call `getMoreSpecialized` determine whether the
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/92318
>From 6c8646dbb04cc5898fe7f67c9923036b2f68b56d Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 15 May 2024 16:13:03 -0400
Subject: [PATCH 1/3] [Clang][Sema] Don't build
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/92283
___
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/91534
___
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/92318
>From a5ed54f967e4a15a80f41ee648f79e77202906d8 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Wed, 15 May 2024 16:13:03 -0400
Subject: [PATCH 1/2] [Clang][Sema] Don't build
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/92318
According to [[expr.prim.id.general]
p2](http://eel.is/c++draft/expr.prim.id.general#2):
> If an _id-expression_ `E` denotes a non-static non-type member of some class
> `C` at a point where the current
sdkrystian wrote:
All the new changes are in 5ce0e969f3f94e9694545fe71b14fd8eb086f33e
https://github.com/llvm/llvm-project/pull/92283
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
1 - 100 of 726 matches
Mail list logo