[clang] [Clang] Consider default template arguments when synthesizing CTAD guides (PR #147675)

2025-07-13 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 closed https://github.com/llvm/llvm-project/pull/147675 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Consider default template arguments when synthesizing CTAD guides (PR #147675)

2025-07-13 Thread Younan Zhang via cfe-commits
@@ -1061,15 +1061,36 @@ BuildDeductionGuideForTypeAlias(Sema &SemaRef, SmallVector DeduceResults( F->getTemplateParameters()->size()); + // We don't have to deduce against the alias template specialization, + // if the source template is a synthesized alias deduction

[clang] [Clang] Consider default template arguments when synthesizing CTAD guides (PR #147675)

2025-07-13 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/147675 >From f8b1894ad39560edb5bb0c14194a3a2d54a911ff Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Wed, 9 Jul 2025 16:29:45 +0800 Subject: [PATCH 1/4] [Clang] Consider default template arguments when synthesizing

[clang] [Clang] Consider default template arguments when synthesizing CTAD guides (PR #147675)

2025-07-11 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/147675 >From f8b1894ad39560edb5bb0c14194a3a2d54a911ff Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Wed, 9 Jul 2025 16:29:45 +0800 Subject: [PATCH 1/3] [Clang] Consider default template arguments when synthesizing

[clang] [Clang] Consider default template arguments when synthesizing CTAD guides (PR #147675)

2025-07-11 Thread Younan Zhang via cfe-commits
@@ -1061,15 +1061,36 @@ BuildDeductionGuideForTypeAlias(Sema &SemaRef, SmallVector DeduceResults( F->getTemplateParameters()->size()); + // We don't have to deduce against the alias template specialization, + // if the source template is a synthesized alias deduction

[clang] [Clang] Consider default template arguments when synthesizing CTAD guides (PR #147675)

2025-07-11 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/147675 >From f8b1894ad39560edb5bb0c14194a3a2d54a911ff Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Wed, 9 Jul 2025 16:29:45 +0800 Subject: [PATCH 1/2] [Clang] Consider default template arguments when synthesizing

[clang] [Clang] Consider default template arguments when synthesizing CTAD guides (PR #147675)

2025-07-11 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/147675 >From f8b1894ad39560edb5bb0c14194a3a2d54a911ff Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Wed, 9 Jul 2025 16:29:45 +0800 Subject: [PATCH] [Clang] Consider default template arguments when synthesizing CTA

[clang] [PATCH 1/4] [clang] Improve nested name specifier AST representation (PR #147835)

2025-07-10 Thread Younan Zhang via cfe-commits
zyn0217 wrote: Given the scale of the patch, it's not surprising if it undergoes some revert-reapplies cycles after the initial commit. To reduce the churn, would it be possible to ask google to test it internally before we merge? @AaronBallman https://github.com/llvm/llvm-project/pull/14783

[clang] [Clang] Fix the template argument collection after CWG2369 (PR #147894)

2025-07-10 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 closed https://github.com/llvm/llvm-project/pull/147894 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix the template argument collection after CWG2369 (PR #147894)

2025-07-09 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/147894 >From 17e42982fc947dccfc724ee6de6cf93fa8de3222 Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Thu, 10 Jul 2025 13:26:09 +0800 Subject: [PATCH 1/2] [Clang] Fix the template argument collection after CWG2369

[clang] [Clang] Fix the template argument collection after CWG2369 (PR #147894)

2025-07-09 Thread Younan Zhang via cfe-commits
@@ -1078,15 +1078,19 @@ static bool CheckFunctionConstraintsWithoutInstantiation( // template. We need the entire list, since the constraint is completely // uninstantiated at this point. - // FIXME: Add TemplateArgs through the 'Innermost' parameter once - // the refac

[clang] [Clang] Fix the template argument collection after CWG2369 (PR #147894)

2025-07-09 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 edited https://github.com/llvm/llvm-project/pull/147894 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix the template argument collection after CWG2369 (PR #147894)

2025-07-09 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/147894 >From 17e42982fc947dccfc724ee6de6cf93fa8de3222 Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Thu, 10 Jul 2025 13:26:09 +0800 Subject: [PATCH] [Clang] Fix the template argument collection after CWG2369 Since

[clang] [Clang] Fix the template argument collection after CWG2369 (PR #147894)

2025-07-09 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/147894 Since the function template isn't instantiated before constraint checking, we'll not be able to find the outer template arguments through function specialization when evaluating the inner constraint that is nes

[clang] [Clang] Consider default template arguments when synthesizing CTAD guides (PR #147675)

2025-07-09 Thread Younan Zhang via cfe-commits
@@ -1061,15 +1061,36 @@ BuildDeductionGuideForTypeAlias(Sema &SemaRef, SmallVector DeduceResults( F->getTemplateParameters()->size()); + // We don't have to deduce against the alias template specialization, + // if the source template is a synthesized alias deduction

[clang] [Clang] Do not skip over `RequiresExprBodyDecl` when creating lambdas (PR #147764)

2025-07-09 Thread Younan Zhang via cfe-commits
@@ -1088,6 +1088,9 @@ void CXXNameMangler::mangleNameWithAbiTags(GlobalDecl GD, return; } + while (DC->isRequiresExprBody()) +DC = DC->getParent(); zyn0217 wrote: We had a similar while loop in TransformLambdaExpr, is that still needed? Also I was

[clang] [Clang] Consider default template arguments when synthesizing CTAD guides (PR #147675)

2025-07-09 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/147675 We copy arguments from different template parameter lists depending on the deducibility of the template parameters. In particular, we may lose the default template argument from the original alias declaration,

[clang] [Clang] Fix template arguments collection for out-of-line declarations (PR #147463)

2025-07-08 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 closed https://github.com/llvm/llvm-project/pull/147463 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix template arguments collection for out-of-line declarations (PR #147463)

2025-07-07 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 ready_for_review https://github.com/llvm/llvm-project/pull/147463 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix template arguments collection for out-of-line declarations (PR #147463)

2025-07-07 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/147463 We were using the lexical DC as the starting point of template argument collection when comparing declarations. This caused an issue that template arguments from out-of-line declarations are ignored when substi

[clang] [Clang][Sema] Avoid duplicate diagnostics for incomplete types in nested name specifier (C++20+) (PR #147036)

2025-07-04 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 commented: Why doesn't C++20 below suffer from the issue? I think it's a waste to add a Sema scope object just for diagnostic issues. It's more like that there's an underlying issue that would be otherwise hidden by the patch. Can you explore? https://github.com/ll

[clang] [Lambda] Remove an unnecessary cast (NFC) (PR #146986)

2025-07-03 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. https://github.com/llvm/llvm-project/pull/146986 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang][Sema] Unify getPrototypeLoc helpers in SemaCodeComplete and clangd (PR #143345)

2025-07-03 Thread Younan Zhang via cfe-commits
@@ -93,6 +94,12 @@ class HeuristicResolver { // during simplification, and the operation fails if no pointer type is found. QualType simplifyType(QualType Type, const Expr *E, bool UnwrapPointer); + // Given an expression `Fn` representing the callee in a function call,

[clang] [clang-tools-extra] [clang][Sema] Unify getPrototypeLoc helpers in SemaCodeComplete and clangd (PR #143345)

2025-07-03 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. Thanks, this looks great Though part of me is curious about which bug was caught :) https://github.com/llvm/llvm-project/pull/143345 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://

[clang] [clang-tools-extra] [clang][Sema] Unify getPrototypeLoc helpers in SemaCodeComplete and clangd (PR #143345)

2025-07-03 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 edited https://github.com/llvm/llvm-project/pull/143345 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] odr-checker fix for conversion operators (PR #146153)

2025-06-27 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. https://github.com/llvm/llvm-project/pull/146153 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Back out the source location workaround for CXXConstructExpr (PR #145260)

2025-06-26 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 closed https://github.com/llvm/llvm-project/pull/145260 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Back out the source location workaround for CXXConstructExpr (PR #145260)

2025-06-26 Thread Younan Zhang via cfe-commits
@@ -98,7 +98,36 @@ namespace { CXXCastPath BasePath; bool IsARCUnbridgedCast; -SourceRange OpRange; +struct OpRangeType { + SourceLocation Ranges[3]; zyn0217 wrote: Renamed to Locations :) https://github.com/llvm/llvm-project/pull/145260

[clang] [Clang] Back out the source location workaround for CXXConstructExpr (PR #145260)

2025-06-26 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/145260 >From 504c05c3a076ecafb4f11ce0703caddfac6e06d1 Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Mon, 23 Jun 2025 12:31:39 +0800 Subject: [PATCH 1/2] [Clang] Back out the source location workaround for CXXConst

[clang] [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (PR #122423)

2025-06-24 Thread Younan Zhang via cfe-commits
zyn0217 wrote: @maryammo I managed to reduce it to https://godbolt.org/z/vjcoq1qaG .. will look into it tomorrow https://github.com/llvm/llvm-project/pull/122423 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/m

[clang] [Clang] Back out the source location workaround for CXXConstructExpr (PR #145260)

2025-06-23 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 edited https://github.com/llvm/llvm-project/pull/145260 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Back out the source location workaround for CXXConstructExpr (PR #145260)

2025-06-23 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 ready_for_review https://github.com/llvm/llvm-project/pull/145260 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Back out the source location workaround for CXXConstructExpr (PR #145260)

2025-06-23 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/145260 >From 96f1c3bbbf7c07bf9d11bb907e3a35e196d181aa Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Mon, 23 Jun 2025 12:31:39 +0800 Subject: [PATCH] [Clang] Back out the source location workaround for CXXConstruct

[clang] [Clang] Back out the source location workaround for CXXConstructExpr (PR #145260)

2025-06-23 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/145260 >From 504c05c3a076ecafb4f11ce0703caddfac6e06d1 Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Mon, 23 Jun 2025 12:31:39 +0800 Subject: [PATCH] [Clang] Back out the source location workaround for CXXConstruct

[clang] [Clang] Back out the source location workaround for CXXConstructExpr (PR #145260)

2025-06-23 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 ready_for_review https://github.com/llvm/llvm-project/pull/145260 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Back out the source location workaround for CXXConstructExpr (PR #145260)

2025-06-23 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 converted_to_draft https://github.com/llvm/llvm-project/pull/145260 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Back out the source location workaround for CXXConstructExpr (PR #145260)

2025-06-23 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/145260 >From f642a6d25a2bd3f12e6629f93152edc784bddbaa Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Mon, 23 Jun 2025 12:31:39 +0800 Subject: [PATCH] [Clang] Back out the source location workaround for CXXConstruct

[clang] [Clang] Back out the source location workaround for CXXConstructExpr (PR #145260)

2025-06-22 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/145260 This removes the workaround introduced in 3e1a9cf3b8 and 1ba7dc38d. The issues should have been already resolved elsewhere, at least removing these lines doesn't break any existing tests. The workaround overwr

[clang] Reapply "[Clang] Profile singly-resolved UnresolvedLookupExpr with the declaration" (PR #140680)

2025-06-18 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 closed https://github.com/llvm/llvm-project/pull/140680 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang][Sema] Unify getPrototypeLoc helpers in SemaCodeComplete and clangd (PR #143345)

2025-06-08 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. thanks Do we also want to add some tests? https://github.com/llvm/llvm-project/pull/143345 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cf

[clang] [Clang] Support constexpr asm at global scope. (PR #143268)

2025-06-07 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. https://github.com/llvm/llvm-project/pull/143268 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] AST: fix dependency calculation for TypedefTypes (PR #143291)

2025-06-07 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. Thanks https://github.com/llvm/llvm-project/pull/143291 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][RFC] Resugar attributed type alias (PR #143143)

2025-06-06 Thread Younan Zhang via cfe-commits
@@ -6998,6 +7007,31 @@ namespace { else return C.getRValueReferenceType(New); } + case Elaborated: { +auto *ET = cast(Old); +return C.getElaboratedType(ET->getKeyword(), ET->getQualifier(), + wrap(C,

[clang] [Clang][RFC] Resugar attributed type alias (PR #143143)

2025-06-06 Thread Younan Zhang via cfe-commits
@@ -6998,6 +7007,31 @@ namespace { else return C.getRValueReferenceType(New); } + case Elaborated: { +auto *ET = cast(Old); +return C.getElaboratedType(ET->getKeyword(), ET->getQualifier(), + wrap(C,

[clang] [Clang][RFC] Resugar attributed type alias (PR #143143)

2025-06-06 Thread Younan Zhang via cfe-commits
@@ -6998,6 +7007,31 @@ namespace { else return C.getRValueReferenceType(New); } + case Elaborated: { +auto *ET = cast(Old); +return C.getElaboratedType(ET->getKeyword(), ET->getQualifier(), + wrap(C,

[clang] [Clang][RFC] Resugar attributed type alias (PR #143143)

2025-06-06 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/143143 https://github.com/llvm/llvm-project/issues/142608 reflects a case where the type sugar on the attributed type alias is lost. It might be possible to add the sugar back at the cost of duplicating the type alia

[clang] [Clang] Fail the constraint substitution early after CWG2369 (PR #143096)

2025-06-06 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 closed https://github.com/llvm/llvm-project/pull/143096 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (PR #122423)

2025-06-06 Thread Younan Zhang via cfe-commits
zyn0217 wrote: @rupprecht I sent out https://github.com/llvm/llvm-project/pull/143096 for the fix :) https://github.com/llvm/llvm-project/pull/122423 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listin

[clang] [Clang] Fail the constraint substitution early after CWG2369 (PR #143096)

2025-06-06 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/143096 >From 020160fde7a3cc13b104a5f5577a8037cf412c66 Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Fri, 6 Jun 2025 17:09:08 +0800 Subject: [PATCH 1/2] [Clang] Fail the constraint substitution early after CWG2369

[clang] [Clang] Fail the constraint substitution early after CWG2369 (PR #143096)

2025-06-06 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 edited https://github.com/llvm/llvm-project/pull/143096 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fail the constraint substitution early after CWG2369 (PR #143096)

2025-06-06 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/143096 >From 020160fde7a3cc13b104a5f5577a8037cf412c66 Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Fri, 6 Jun 2025 17:09:08 +0800 Subject: [PATCH 1/2] [Clang] Fail the constraint substitution early after CWG2369

[clang] [Clang] Fail the constraint substitution early after CWG2369 (PR #143096)

2025-06-06 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 ready_for_review https://github.com/llvm/llvm-project/pull/143096 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fail the constraint substitution early after CWG2369 (PR #143096)

2025-06-06 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/143096 CWG2369 revealed another case where we were SFINAE'ing out the invalid result of substitution, but the expression now makes into evaluation. We switch to the concept specialization's context before we check it.

[clang] [Clang] Fix name lookup of conversion operators (PR #142945)

2025-06-05 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/142945 >From cdd6868879abf4b6c991c7f2b3e9cf9673b0570a Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Thu, 5 Jun 2025 18:52:01 +0800 Subject: [PATCH 1/3] [Clang] Fix name lookup of conversion operators (TODO: Add ex

[clang] [Clang] Fix name lookup of conversion operators (PR #142945)

2025-06-05 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/142945 >From cdd6868879abf4b6c991c7f2b3e9cf9673b0570a Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Thu, 5 Jun 2025 18:52:01 +0800 Subject: [PATCH 1/2] [Clang] Fix name lookup of conversion operators (TODO: Add ex

[clang] [Clang] Fix name lookup of conversion operators (PR #142945)

2025-06-05 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/142945 (TODO: Add explanation) Fixes https://github.com/llvm/llvm-project/issues/28181 Fixes https://github.com/llvm/llvm-project/issues/94052 >From cdd6868879abf4b6c991c7f2b3e9cf9673b0570a Mon Sep 17 00:00:00 2001 Fr

[clang] [Clang] Fix crash on template-specialization (PR #142338)

2025-06-03 Thread Younan Zhang via cfe-commits
@@ -5120,6 +5121,10 @@ bool Sema::addInstantiatedParametersToScope( // Simple case: not a parameter pack. assert(FParamIdx < Function->getNumParams()); ParmVarDecl *FunctionParam = Function->getParamDecl(FParamIdx); + DeclarationName name = FunctionParam-

[clang] [Clang] Improve infrastructure for libstdc++ workarounds (Reland) (PR #142592)

2025-06-03 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. I hope it helps! https://github.com/llvm/llvm-project/pull/142592 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][AST] Reduce some AST node size. (PR #142585)

2025-06-03 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. https://github.com/llvm/llvm-project/pull/142585 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (PR #122423)

2025-06-02 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 closed 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

[clang-tools-extra] Revert "[clangd] [Modules] Fixes to correctly handle module dependencies" (PR #142162)

2025-05-30 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 closed https://github.com/llvm/llvm-project/pull/142162 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] member pointer class qualification fix (PR #142081)

2025-05-29 Thread Younan Zhang via cfe-commits
@@ -2127,7 +2127,7 @@ static TemplateDeductionResult DeduceTemplateArgumentsByTypeMatch( TA = S.Context.getTypeDeclType(MPA->getMostRecentCXXRecordDecl()); } else { NestedNameSpecifier *QA = MPA->getQualifier(); -TA = QualType(QA->translateToType(

[clang] [clang] member pointer class qualification fix (PR #142081)

2025-05-29 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. https://github.com/llvm/llvm-project/pull/142081 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix an out of bound access in -verify comment parsing (PR #141940)

2025-05-29 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. https://github.com/llvm/llvm-project/pull/141940 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema] Fix type mismatch error when arguments to elementwise math builtin have different qualifiers, which should be well-formed (PR #141485)

2025-05-29 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. https://github.com/llvm/llvm-project/pull/141485 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema] Fix type mismatch error when arguments to elementwise math builtin have different qualifiers, which should be well-formed (PR #141485)

2025-05-29 Thread Younan Zhang via cfe-commits
@@ -669,6 +669,7 @@ Bug Fixes in This Version base classes. (GH139452) - Fixed an assertion failure in serialization of constexpr structs containing unions. (#GH140130) - Fixed duplicate entries in TableGen that caused the wrong attribute to be selected. (GH#140701) +- Fixe

[clang] [Sema] Fixed type missmach error when 'builtin-elementwise-math' arguments have different qualifiers, this should be a well-formed. (PR #141485)

2025-05-28 Thread Younan Zhang via cfe-commits
zyn0217 wrote: @QiYueFeiXue I don't think @shafik means to directly copy his words to the PR body/title. Please at least flesh out these dotted parts and make the sentences complete, thanks. https://github.com/llvm/llvm-project/pull/141485 ___ cfe-co

[clang] [clang] Serialization: support hashing null template arguments (PR #141890)

2025-05-28 Thread Younan Zhang via cfe-commits
zyn0217 wrote: /cherry-pick 61314076f https://github.com/llvm/llvm-project/pull/141890 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Serialization: support hashing null template arguments (PR #141890)

2025-05-28 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. Thanks! https://github.com/llvm/llvm-project/pull/141890 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Reset ArgPackSubstIndex before rewriting CTAD template parameters (PR #141741)

2025-05-28 Thread Younan Zhang via cfe-commits
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

[clang] [Clang] Reset ArgPackSubstIndex before rewriting CTAD template parameters (PR #141741)

2025-05-28 Thread Younan Zhang via 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

[clang] [Clang] Reset ArgPackSubstIndex before rewriting CTAD template parameters (PR #141741)

2025-05-28 Thread Younan Zhang via cfe-commits
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

[clang] [Clang] Reset ArgPackSubstIndex before rewriting CTAD template parameters (PR #141741)

2025-05-28 Thread Younan Zhang via 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

[clang] [llvm] Reland "Add macro to suppress -Wunnecessary-virtual-specifier" (PR #141091)

2025-05-28 Thread Younan Zhang via cfe-commits
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

[clang] [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (PR #122423)

2025-05-28 Thread Younan Zhang via cfe-commits
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

[clang] [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (PR #122423)

2025-05-28 Thread Younan Zhang via 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

[clang] [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (PR #122423)

2025-05-28 Thread Younan Zhang via cfe-commits
@@ -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

[clang] [Clang] Fix a pack expansion bug in template argument deduction (PR #141547)

2025-05-27 Thread Younan Zhang via cfe-commits
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

[clang] [Clang] Fix a pack expansion bug in template argument deduction (PR #141547)

2025-05-26 Thread Younan Zhang via 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

[clang] [Clang] Fix a pack expansion bug in template argument deduction (PR #141547)

2025-05-26 Thread Younan Zhang via cfe-commits
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

[clang] [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (PR #122423)

2025-05-26 Thread Younan Zhang via 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

[clang] [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (PR #122423)

2025-05-26 Thread Younan Zhang via 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/15] Reapply "[Clang] Implement CWG2369 "Ordering between const

[clang] [Clang] Clean up the fix for deferred access checking (PR #141340)

2025-05-26 Thread Younan Zhang via cfe-commits
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

[clang] [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (PR #122423)

2025-05-25 Thread Younan Zhang via 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

[clang] [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (PR #122423)

2025-05-25 Thread Younan Zhang via 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

[clang] [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (PR #122423)

2025-05-25 Thread Younan Zhang via 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/16] Reapply "[Clang] Implement CWG2369 "Ordering between const

[clang] [clang] Fix a typo in documentation (PR #141382)

2025-05-24 Thread Younan Zhang via cfe-commits
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

[clang] [Clang] Clean up the fix for deferred access checking (PR #141340)

2025-05-24 Thread Younan Zhang via 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

[clang] [Clang] Fix the access checking for non-aggregates in default arguments (PR #141207)

2025-05-23 Thread Younan Zhang via cfe-commits
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

[clang] [Clang] Fix the access checking for non-aggregates in default arguments (PR #141207)

2025-05-23 Thread Younan Zhang via 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

[clang] [Clang] Fix the access checking for non-aggregates in default arguments (PR #141207)

2025-05-23 Thread Younan Zhang via 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

[clang] [Clang] Fix the access checking for non-aggregates in default arguments (PR #141207)

2025-05-23 Thread Younan Zhang via cfe-commits
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

[clang] [Clang] Fix the access checking for non-aggregates in default arguments (PR #141207)

2025-05-23 Thread Younan Zhang via 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

[clang] [Clang] Fix the access checking for non-aggregates in default arguments (PR #141207)

2025-05-23 Thread Younan Zhang via cfe-commits
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

[clang] [Clang] Optimize some `getBeginLoc` implementations (PR #141058)

2025-05-22 Thread Younan Zhang via cfe-commits
@@ -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

[clang] [Clang] Optimize some `getBeginLoc` implementations (PR #141058)

2025-05-22 Thread Younan Zhang via cfe-commits
@@ -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

[clang] [Clang] Optimize some `getBeginLoc` implementations (PR #141058)

2025-05-22 Thread Younan Zhang via cfe-commits
@@ -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

[clang] [Clang] Optimize some `getBeginLoc` implementations (PR #141058)

2025-05-22 Thread Younan Zhang via cfe-commits
@@ -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

[clang] [Clang] Optimize some `getBeginLoc` implementations (PR #141058)

2025-05-22 Thread Younan Zhang via cfe-commits
@@ -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

[clang] [Clang] Do not defer variable template instantiation for undeduced types (PR #141009)

2025-05-21 Thread Younan Zhang via cfe-commits
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

  1   2   3   4   5   6   7   8   9   10   >