https://github.com/zyn0217 closed
https://github.com/llvm/llvm-project/pull/141741
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 updated
https://github.com/llvm/llvm-project/pull/141741
>From 4fdb0069e260e36d8cbd021536adc14f6b9ddef1 Mon Sep 17 00:00:00 2001
From: Younan Zhang
Date: Wed, 28 May 2025 18:37:38 +0800
Subject: [PATCH 1/2] [Clang] Reset ArgPackSubstIndex before rewriting CTAD
templa
https://github.com/zyn0217 edited
https://github.com/llvm/llvm-project/pull/141741
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 created
https://github.com/llvm/llvm-project/pull/141741
032ad59 taught the instantiator to expand template argument packs for rewrite.
However we might already be in a pack expansion when we synthesizing the CTAD
guide, so we reset the ArgPackSubstIndex to ensure it
zyn0217 wrote:
@cor3ntin can we merge it? building clang with ToT clang results in a lot of
warnings now.
https://github.com/llvm/llvm-project/pull/141091
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/l
https://github.com/zyn0217 deleted
https://github.com/llvm/llvm-project/pull/122423
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -13458,6 +13473,10 @@ class Sema final : public SemaBase {
// FIXME: Should we have a similar limit for other forms of synthesis?
unsigned NonInstantiationEntries;
+ /// The number of \p CodeSynthesisContexts that are not constraint
+ /// substitution.
+ unsigned Non
@@ -522,6 +522,12 @@ enum class TemplateSubstitutionKind : char {
llvm::PointerUnion *
findInstantiationOf(const Decl *D);
+/// Similar to \p findInstantiationOf(), but it wouldn't assert if the
+/// instantiation was not found within the current instantiation
https://github.com/zyn0217 closed
https://github.com/llvm/llvm-project/pull/141547
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 created
https://github.com/llvm/llvm-project/pull/141547
I think the intent of df18ee96206 was to substitute only those non-packs into a
pack expansion type (e.g. `T` in `T::pack`...), so let's hold off pack
expansions explicitly, in case there are calls coming from
https://github.com/zyn0217 edited
https://github.com/llvm/llvm-project/pull/141547
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 updated
https://github.com/llvm/llvm-project/pull/122423
>From 56bacf47c53aca276ae4fa6aa2972b7eda152ddd Mon Sep 17 00:00:00 2001
From: Younan Zhang
Date: Fri, 10 Jan 2025 09:46:24 +0800
Subject: [PATCH 01/18] Reapply "[Clang] Implement CWG2369 "Ordering between
const
https://github.com/zyn0217 updated
https://github.com/llvm/llvm-project/pull/122423
>From 56bacf47c53aca276ae4fa6aa2972b7eda152ddd Mon Sep 17 00:00:00 2001
From: Younan Zhang
Date: Fri, 10 Jan 2025 09:46:24 +0800
Subject: [PATCH 01/15] Reapply "[Clang] Implement CWG2369 "Ordering between
const
zyn0217 wrote:
Sure, let's just wait until CWG opines.
https://github.com/llvm/llvm-project/pull/141340
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
zyn0217 wrote:
@cor3ntin it's ready :)
https://github.com/llvm/llvm-project/pull/122423
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 updated
https://github.com/llvm/llvm-project/pull/122423
>From 56bacf47c53aca276ae4fa6aa2972b7eda152ddd Mon Sep 17 00:00:00 2001
From: Younan Zhang
Date: Fri, 10 Jan 2025 09:46:24 +0800
Subject: [PATCH 01/17] Reapply "[Clang] Implement CWG2369 "Ordering between
const
https://github.com/zyn0217 updated
https://github.com/llvm/llvm-project/pull/122423
>From 56bacf47c53aca276ae4fa6aa2972b7eda152ddd Mon Sep 17 00:00:00 2001
From: Younan Zhang
Date: Fri, 10 Jan 2025 09:46:24 +0800
Subject: [PATCH 01/16] Reapply "[Clang] Implement CWG2369 "Ordering between
const
https://github.com/zyn0217 approved this pull request.
https://github.com/llvm/llvm-project/pull/141382
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 created
https://github.com/llvm/llvm-project/pull/141340
https://github.com/llvm/llvm-project/commit/200f3bd39562f4d605f13567398025d30fa27d61
introduced a parsing scope to avoid deferring access checking
for friend declarations. That turned out to be insufficient beca
https://github.com/zyn0217 closed
https://github.com/llvm/llvm-project/pull/141207
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 edited
https://github.com/llvm/llvm-project/pull/141207
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 updated
https://github.com/llvm/llvm-project/pull/141207
>From c63f3f82d6e4c576051532b2272abf4ac0055d7f Mon Sep 17 00:00:00 2001
From: Younan Zhang
Date: Fri, 23 May 2025 15:29:49 +0800
Subject: [PATCH 1/2] [Clang] Fix the access checking for non-aggregates in
defaul
zyn0217 wrote:
> Does this fixes #62444 ?
Yes 😎
https://github.com/llvm/llvm-project/pull/141207
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -282,4 +283,25 @@ static_assert(S().SizeOfT() == sizeof(short
*), "");
} // namespace GH68490
+namespace GH83608 {
+
+class single;
+
+class check_constructible {
+ // This makes it a non-aggregate in C++20+.
+ check_constructible() = default;
zyn0217 w
https://github.com/zyn0217 created
https://github.com/llvm/llvm-project/pull/141207
We check the accessibility of constructors when initializing a default argument
whose type is not an aggregate.
Make sure the check is performed within the correct DeclContext. Otherwise, it
will be delayed un
@@ -542,7 +542,8 @@ bool SemaOpenCL::checkBuiltinToAddr(unsigned BuiltinID,
CallExpr *Call) {
auto RT = Call->getArg(0)->getType();
if (!RT->isPointerType() ||
RT->getPointeeType().getAddressSpace() == LangAS::opencl_constant) {
-Diag(Call->getBeginLoc(), diag::e
@@ -296,14 +298,18 @@ class NestedNameSpecifierLoc {
/// Retrieve the location of the beginning of this
/// nested-name-specifier.
SourceLocation getBeginLoc() const {
-return getSourceRange().getBegin();
+if (!Qualifier)
+ return SourceLocation();
+
+Nes
@@ -1638,43 +1647,6 @@ CallExpr::getUnusedResultAttr(const ASTContext &Ctx)
const {
return {nullptr, nullptr};
}
-SourceLocation CallExpr::getBeginLoc() const {
- if (const auto *OCE = dyn_cast(this))
-return OCE->getBeginLoc();
-
- // A non-dependent call to a member
@@ -563,17 +563,21 @@ class alignas(void *) Stmt {
unsigned HasFPFeatures : 1;
/// True if the call expression is a must-elide call to a coroutine.
+LLVM_PREFERRED_TYPE(bool)
unsigned IsCoroElideSafe : 1;
-/// Padding used to align OffsetToTrailingObject
@@ -542,7 +542,8 @@ bool SemaOpenCL::checkBuiltinToAddr(unsigned BuiltinID,
CallExpr *Call) {
auto RT = Call->getArg(0)->getType();
if (!RT->isPointerType() ||
RT->getPointeeType().getAddressSpace() == LangAS::opencl_constant) {
-Diag(Call->getBeginLoc(), diag::e
https://github.com/zyn0217 closed
https://github.com/llvm/llvm-project/pull/141009
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 closed
https://github.com/llvm/llvm-project/pull/140930
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
zyn0217 wrote:
I'll go ahead and merge this: the eager instantiation of member templates -
even it is still dependent - doesnt look right to me
In the meantime, I'll look into the case and see if I can figure out a solution
https://github.com/llvm/llvm-project/pull/140930
_
zyn0217 wrote:
I feel an invalid Decl shouldn't make its way down so deeper into
instantiation. Could you check?
https://github.com/llvm/llvm-project/pull/140905
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/m
https://github.com/zyn0217 approved this pull request.
I'll approve it, because I have a similar experience that swapping the deferred
instantiation and immediate instantiation order caused a very subtle failure of
return type deduction.
However, just as what @AaronBallman suggested, please ho
https://github.com/zyn0217 approved this pull request.
https://github.com/llvm/llvm-project/pull/140831
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1321,4 +1321,39 @@ namespace GH139160{
// expected-note@-2
{{non-constexpr function 'make_struct' cannot be used in a constant expression}}
};
+// taken from: https://github.com/llvm/llvm-project/issues/139818
+namespace GH
https://github.com/zyn0217 closed
https://github.com/llvm/llvm-project/pull/140714
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 created
https://github.com/llvm/llvm-project/pull/140714
When using InitChecker with VerifyOnly, we create a new designated initializer
to handle anonymous fields. However in the last call to
CheckDesignatedInitializer, the subinitializer isn't properly preserved but
@@ -2189,8 +2189,14 @@ StmtProfiler::VisitCXXPseudoDestructorExpr(const
CXXPseudoDestructorExpr *S) {
void StmtProfiler::VisitOverloadExpr(const OverloadExpr *S) {
VisitExpr(S);
- VisitNestedNameSpecifier(S->getQualifier());
- VisitName(S->getName(), /*TreatAsDecl*/ true)
https://github.com/zyn0217 created
https://github.com/llvm/llvm-project/pull/140680
For a dependent variable template specialization, we don't build a dependent
Decl node or a DeclRefExpr to represent it. Instead, we preserve the
UnresolvedLookupExpr until instantiation.
However, this approac
zyn0217 wrote:
I reverted it :(
https://github.com/llvm/llvm-project/pull/140029
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 closed
https://github.com/llvm/llvm-project/pull/140655
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 created
https://github.com/llvm/llvm-project/pull/140655
This introduced a bug where noexcept specifiers are involved, as reported in
https://github.com/llvm/llvm-project/pull/140029#issuecomment-2892259764
Addressing that doesn't seem trivial at the moment, so I'll
zyn0217 wrote:
@rupprecht That doesn't seem right... Will look into it
https://github.com/llvm/llvm-project/pull/140029
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
zyn0217 wrote:
Does it fix https://github.com/llvm/llvm-project/issues/115289?
https://github.com/llvm/llvm-project/pull/140576
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 closed
https://github.com/llvm/llvm-project/pull/138122
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 updated
https://github.com/llvm/llvm-project/pull/140029
>From 143a35ef0af10add4a0705ea4ca11856f00dcb83 Mon Sep 17 00:00:00 2001
From: Younan Zhang
Date: Thu, 15 May 2025 16:51:51 +0800
Subject: [PATCH] [Clang] Profile singly-resolved UnresolvedLookupExpr with the
de
@@ -692,6 +692,70 @@ ExprResult Parser::ParseLambdaExpression() {
return ParseLambdaExpressionAfterIntroducer(Intro);
}
+bool Parser::IsLambdaAfterTypeCast() {
+ assert(getLangOpts().CPlusPlus && Tok.is(tok::l_square) &&
+ "Not at the start of a possible lambda expr
https://github.com/zyn0217 created
https://github.com/llvm/llvm-project/pull/140029
For a dependent variable template specialization, we don't build a dependent
Decl node or a DeclRefExpr to represent it. Instead, we preserve the
UnresolvedLookupExpr until instantiation.
However, this approac
https://github.com/zyn0217 edited
https://github.com/llvm/llvm-project/pull/106730
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -6484,6 +6499,57 @@ class SubstTemplateTypeParmType final
}
};
+/// Represents the result of substituting a set of types as a template argument
+/// that needs to be expanded later.
+///
+/// These types are always dependent and produced depending on the situations:
+///
@@ -5054,95 +5089,128 @@ bool
TreeTransform::TransformTemplateArguments(
}
if (In.getArgument().isPackExpansion()) {
- // We have a pack expansion, for which we will be substituting into
- // the pattern.
- SourceLocation Ellipsis;
- UnsignedOrNone
@@ -6484,6 +6499,57 @@ class SubstTemplateTypeParmType final
}
};
+/// Represents the result of substituting a set of types as a template argument
+/// that needs to be expanded later.
+///
+/// These types are always dependent and produced depending on the situations:
+///
https://github.com/zyn0217 approved this pull request.
LGTM plus nits
https://github.com/llvm/llvm-project/pull/138122
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -27,3 +27,15 @@ template constexpr int A::n = sizeof(A) +
sizeof(T);
template inline constexpr int A::m = sizeof(A) + sizeof(T);
static_assert(A().f() == 5);
static_assert(A().g() == 5);
+
+template struct InlineAuto {
+ template inline static auto var = 5;
+};
+
+temp
https://github.com/zyn0217 edited
https://github.com/llvm/llvm-project/pull/138122
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1,5 +1,19 @@
// RUN: %clang_cc1 -std=c++1z %s -emit-llvm -o - -triple x86_64-linux-gnu |
FileCheck %s
+template struct InlineAuto {
+ template inline static auto var = 5;
+};
+int inlineauot = InlineAuto::var;
zyn0217 wrote:
inlineauto?
https://github
@@ -1,5 +1,19 @@
// RUN: %clang_cc1 -std=c++1z %s -emit-llvm -o - -triple x86_64-linux-gnu |
FileCheck %s
+template struct InlineAuto {
+ template inline static auto var = 5;
+};
+int inlineauot = InlineAuto::var;
+// CHECK: @_ZN10InlineAutoIiE3varIiEE = {{.*}}i32 5{{.*}}co
https://github.com/zyn0217 edited
https://github.com/llvm/llvm-project/pull/138122
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 updated
https://github.com/llvm/llvm-project/pull/122423
>From 56bacf47c53aca276ae4fa6aa2972b7eda152ddd Mon Sep 17 00:00:00 2001
From: Younan Zhang
Date: Fri, 10 Jan 2025 09:46:24 +0800
Subject: [PATCH 01/14] Reapply "[Clang] Implement CWG2369 "Ordering between
const
zyn0217 wrote:
Not yet, I haven't check GCC's recent changes yet so there might still be some
differences with them.
https://github.com/llvm/llvm-project/pull/122423
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bi
https://github.com/zyn0217 deleted
https://github.com/llvm/llvm-project/pull/106730
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -5054,95 +5089,128 @@ bool
TreeTransform::TransformTemplateArguments(
}
if (In.getArgument().isPackExpansion()) {
- // We have a pack expansion, for which we will be substituting into
- // the pattern.
- SourceLocation Ellipsis;
- UnsignedOrNone
https://github.com/zyn0217 edited
https://github.com/llvm/llvm-project/pull/106730
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -5054,95 +5089,128 @@ bool
TreeTransform::TransformTemplateArguments(
}
if (In.getArgument().isPackExpansion()) {
- // We have a pack expansion, for which we will be substituting into
- // the pattern.
- SourceLocation Ellipsis;
- UnsignedOrNone
@@ -6484,6 +6499,57 @@ class SubstTemplateTypeParmType final
}
};
+/// Represents the result of substituting a set of types as a template argument
+/// that needs to be expanded later.
+///
+/// These types are always dependent and produced depending on the situations:
+///
https://github.com/zyn0217 updated
https://github.com/llvm/llvm-project/pull/139436
>From 1756fbcd874097fdea256c2c5986810a011eafed Mon Sep 17 00:00:00 2001
From: Younan Zhang
Date: Sun, 11 May 2025 12:54:12 +0800
Subject: [PATCH 1/3] [Clang] Stop looking for DC from dependent friend
specializa
https://github.com/zyn0217 requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/106730
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1666,6 +1685,21 @@ namespace {
return inherited::TransformTemplateArgument(Input, Output, Uneval);
}
+using TreeTransform::TransformTemplateSpecializationType;
+QualType
+TransformTemplateSpecializationType(TypeLocBuilder &TLB,
+
zyn0217 wrote:
@cor3ntin @erichkeane I question if a hack is really necessary here. We had run
into a similar situation when we broke libstdc++ 14.1 (#92439), and the
consensus then was to wait for the next dot release. I'd expect they'll fix
this issue in the next dot release too?
@jwakely W
zyn0217 wrote:
@mizvekov It's not a big deal to turn them into explicit specializations after
all... I pushed a commit
https://github.com/llvm/llvm-project/pull/139436
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-
@@ -5751,14 +5751,16 @@ void Sema::InstantiateFunctionDefinition(SourceLocation
PointOfInstantiation,
RebuildTypeSourceInfoForDefaultSpecialMembers();
SetDeclDefaulted(Function, PatternDecl->getLocation());
} else {
-NamedDecl *ND = Function;
-DeclContext *DC
@@ -12166,6 +12174,15 @@ static void DiagnoseBadDeduction(Sema &S, NamedDecl
*Found, Decl *Templated,
diag::note_ovl_candidate_explicit_arg_mismatch_unnamed)
<< (index + 1);
}
+
+if (PartialDiagnosticAt *PDiag = DeductionFailure.getSFINAEDiagnost
@@ -5751,14 +5751,16 @@ void Sema::InstantiateFunctionDefinition(SourceLocation
PointOfInstantiation,
RebuildTypeSourceInfoForDefaultSpecialMembers();
SetDeclDefaulted(Function, PatternDecl->getLocation());
} else {
-NamedDecl *ND = Function;
-DeclContext *DC
https://github.com/zyn0217 approved this pull request.
https://github.com/llvm/llvm-project/pull/139489
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 commented:
I think we would prefer a revert than adding dead blocks
https://github.com/llvm/llvm-project/pull/139490
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe
https://github.com/zyn0217 created
https://github.com/llvm/llvm-project/pull/139436
Since 346077aa, we began using the primary template's lexical DeclContext for
template arguments in order to properly instantiate a friend definition.
There is a missed peculiar case, as in a friend template is
https://github.com/zyn0217 closed
https://github.com/llvm/llvm-project/pull/139374
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 updated
https://github.com/llvm/llvm-project/pull/139374
>From 1e359714374418bf51e93d54169557c29bddf7c6 Mon Sep 17 00:00:00 2001
From: Younan Zhang
Date: Sat, 10 May 2025 18:59:03 +0800
Subject: [PATCH 1/2] [Clang] Don't ditch typo-corrected lookup result
For a membe
https://github.com/zyn0217 commented:
Just a drive-by comment. Thanks for working on it
https://github.com/llvm/llvm-project/pull/139348
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,366 @@
+//===--- AddPureVirtualOverride.cpp --*-
C++-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
https://github.com/zyn0217 edited
https://github.com/llvm/llvm-project/pull/139348
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 created
https://github.com/llvm/llvm-project/pull/139374
For a member function call like 'foo.bar()', there are two typo-correction
points after parsing the dot. The first occurs in
ParseOptionalCXXScopeSpecifier, which tries to annotate the template name
following
https://github.com/zyn0217 edited
https://github.com/llvm/llvm-project/pull/139276
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4549,6 +4549,10 @@ class PackIndexingExpr final
bool isFullySubstituted() const { return FullySubstituted; }
+ bool isPartiallySubstituted() const {
zyn0217 wrote:
Please document the difference with FullySubstituted
https://github.com/llvm/llvm-proj
@@ -4549,6 +4549,10 @@ class PackIndexingExpr final
bool isFullySubstituted() const { return FullySubstituted; }
+ bool isPartiallySubstituted() const {
+return isValueDependent() && TransformedExpressions;
+ };
zyn0217 wrote:
Trailing semicolon
htt
https://github.com/zyn0217 approved this pull request.
Thanks for the iteration!
https://github.com/llvm/llvm-project/pull/139276
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -779,3 +781,59 @@ template
consteval void S::mfn() requires (bool(&fn)) {}
}
+
+
+namespace GH138255 {
+
+ template
+ concept C = true;
+
+ struct Func {
+ template
+ requires C
+ static auto buggy() -> void;
+
+ template
+ requires C
+ fr
https://github.com/zyn0217 approved this pull request.
LGTM assuming clang-formatted
https://github.com/llvm/llvm-project/pull/139246
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -33,7 +33,7 @@ T f1(T t1, U u1, int i1, T** tpp)
i1 = t1[u1];
i1 *= t1;
- i1(u1, t1); // expected-error {{called object type 'int' is not a function
or function pointer}}
+ i1(u1, t1);
zyn0217 wrote:
This is unfortunate
https://github.com/llvm/llvm
https://github.com/zyn0217 edited
https://github.com/llvm/llvm-project/pull/139246
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/zyn0217 approved this pull request.
one nit, else LG!
https://github.com/llvm/llvm-project/pull/139057
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1476,8 +1478,8 @@ namespace {
}
}
-TemplateArgument
-getTemplateArgumentPackPatternForRewrite(const TemplateArgument &TA) {
+TemplateArgument getTemplateArgumentorUnsubstitutedExpansionPattern(
zyn0217 wrote:
```suggestion
Templa
@@ -6027,8 +6027,15 @@ void Sema::BuildVariableInstantiation(
Context.setManglingNumber(NewVar, Context.getManglingNumber(OldVar));
Context.setStaticLocalNumber(NewVar, Context.getStaticLocalNumber(OldVar));
+ bool VarTemplateWithAutoType = false;
+ QualType VarSourceTyp
@@ -12166,6 +12174,15 @@ static void DiagnoseBadDeduction(Sema &S, NamedDecl
*Found, Decl *Templated,
diag::note_ovl_candidate_explicit_arg_mismatch_unnamed)
<< (index + 1);
}
+
+if (PartialDiagnosticAt *PDiag = DeductionFailure.getSFINAEDiagnost
https://github.com/zyn0217 commented:
I think this LGTM in general, but please wait for some time in case @erichkeane
@mizvekov have some ideas
https://github.com/llvm/llvm-project/pull/139057
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
ht
https://github.com/zyn0217 created
https://github.com/llvm/llvm-project/pull/139066
Instead of merely suggesting the template arguments are invalid, we now provide
an explanation of why the explicit template argument is invalid, following the
last diagnostic note.
For example,
```cpp
templat
https://github.com/zyn0217 updated
https://github.com/llvm/llvm-project/pull/139066
>From a6ee1af04225063bab4d853611c7a57b1db37aa9 Mon Sep 17 00:00:00 2001
From: Younan Zhang
Date: Thu, 8 May 2025 19:42:51 +0800
Subject: [PATCH] [Clang] Do not eat SFINAE diagnostics for explicit template
argum
@@ -6884,7 +6884,7 @@
TreeTransform::TransformPackIndexingType(TypeLocBuilder &TLB,
assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
// Determine whether the set of unexpanded parameter packs can and should
// be expanded.
-bool ShouldE
1 - 100 of 1723 matches
Mail list logo