[clang] [clang] consistently quote expressions in diagnostics (PR #134769)

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

[clang] [Clang] Handle default template arguments for alias CTAD guides (PR #134807)

2025-04-08 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/134807 >From 3f09d114d6c4c51bd879a19caaf1c73c531cfedd Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Tue, 8 Apr 2025 16:16:53 +0800 Subject: [PATCH] [Clang] Handle default template arguments for alias CTAD guides

[clang] [clang] consistently quote expressions in diagnostics (PR #134769)

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

[clang] [clang] fix unresolved dependent template specialization mangling (PR #135111)

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

[clang] [Clang] Handle default template arguments for alias CTAD guides (PR #134807)

2025-04-09 Thread Younan Zhang via cfe-commits
@@ -690,6 +690,23 @@ SmallVector TemplateParamsReferencedInTemplateArgumentList( SemaRef.MarkUsedTemplateParameters( DeducedArgs, TemplateParamsList->getDepth(), ReferencedTemplateParams); + auto MarkDefaultArgs = [&](auto *Param) { +if (!Param || !Param->hasDefa

[clang] [Clang] Handle default template arguments for alias CTAD guides (PR #134807)

2025-04-09 Thread Younan Zhang via cfe-commits
@@ -690,6 +690,23 @@ SmallVector TemplateParamsReferencedInTemplateArgumentList( SemaRef.MarkUsedTemplateParameters( DeducedArgs, TemplateParamsList->getDepth(), ReferencedTemplateParams); + auto MarkDefaultArgs = [&](auto *Param) { +if (!Param || !Param->hasDefa

[clang] [Clang][P1061] Fix invalid pack binding crash (PR #135129)

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

[clang] [clang][CodeComplete] Use HeuristicResolver in getAsRecordDecl() (PR #130473)

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

[clang] [Clang][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

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

[clang] [Clang][WIP][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

2025-03-28 Thread Younan Zhang via cfe-commits
@@ -10905,6 +10983,93 @@ bool OverloadCandidate::NotValidBecauseConstraintExprHasError() const { ->Satisfaction.ContainsErrors; } +void OverloadCandidateSet::AddNonDeducedTemplateCandidate( +FunctionTemplateDecl *FunctionTemplate, DeclAccessPair FoundDecl, +

[clang] [Clang][WIP][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

2025-03-28 Thread Younan Zhang via cfe-commits
@@ -10918,7 +11083,44 @@ bool OverloadCandidate::NotValidBecauseConstraintExprHasError() const { OverloadingResult OverloadCandidateSet::BestViableFunction(Sema &S, SourceLocation Loc, iterator &Best) { + + bool TwoPhaseResolution = +

[clang] [Clang][WIP][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

2025-03-28 Thread Younan Zhang via cfe-commits
@@ -10918,7 +11083,44 @@ bool OverloadCandidate::NotValidBecauseConstraintExprHasError() const { OverloadingResult OverloadCandidateSet::BestViableFunction(Sema &S, SourceLocation Loc, iterator &Best) { + + bool TwoPhaseResolution = +

[clang] [Clang][WIP][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

2025-03-28 Thread Younan Zhang via cfe-commits
@@ -10975,9 +11176,8 @@ OverloadCandidateSet::BestViableFunction(Sema &S, SourceLocation Loc, if (Best == end()) return OR_No_Viable_Function; + llvm::SmallVector PendingBest; llvm::SmallVector EquivalentCands; - - llvm::SmallVector PendingBest; zy

[clang] [Clang][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

2025-03-31 Thread Younan Zhang via cfe-commits
@@ -10933,27 +11096,100 @@ OverloadCandidateSet::BestViableFunction(Sema &S, SourceLocation Loc, // -fgpu-exclude-wrong-side-overloads is off. When // -fgpu-exclude-wrong-side-overloads is on, all candidates are compared // uniformly in isBetterOverloadCandidate. - if (

[clang] [Clang][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

2025-03-31 Thread Younan Zhang via cfe-commits
@@ -1126,7 +1208,8 @@ class Sema; OperatorRewriteInfo RewriteInfo; constexpr static unsigned NumInlineBytes = -24 * sizeof(ImplicitConversionSequence); +32 * sizeof(ImplicitConversionSequence); zyn0217 wrote: Can we add some comments?

[clang] [Clang][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

2025-03-31 Thread Younan Zhang via cfe-commits
@@ -14354,6 +14584,17 @@ ExprResult Sema::BuildOverloadedCallExpr(Scope *S, Expr *Fn, OverloadingResult OverloadResult = CandidateSet.BestViableFunction(*this, Fn->getBeginLoc(), Best); + // [C++23][over.call.func] + // if overload resolution selects a non-static me

[clang] fixed clang frontend crash with friend class declaration and overload == (PR #133878)

2025-04-02 Thread Younan Zhang via cfe-commits
zyn0217 wrote: And I think this should follow the same approach in https://github.com/llvm/llvm-project/pull/132320 https://github.com/llvm/llvm-project/pull/133878 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin

[clang] [Clang] Add warning message for C++17 alias template CTAD (PR #133806)

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

[clang] [Clang] Fix dependent local class instantiation bugs (PR #134038)

2025-04-01 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/134038 Fixes https://github.com/llvm/llvm-project/issues/59734 Fixes https://github.com/llvm/llvm-project/issues/132208 >From a670287721da08e54e2908e9abe52ad86a92769b Mon Sep 17 00:00:00 2001 From: Younan Zhang Date:

[clang] [Clang] Fix dependent local class instantiation bugs (PR #134038)

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

[clang] [Clang][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

2025-04-01 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 commented: Thanks! https://github.com/llvm/llvm-project/pull/133426 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Introduce FunctionParmPackDecl for expanded lambda captures (PR #107995)

2025-03-14 Thread Younan Zhang via cfe-commits
zyn0217 wrote: @cor3ntin I thought introducing a new Decl node only to ensure the invariance of the protocol of TransformDecl() seemed a bit waste, but I don't know if there's a better approach, so I left it as a draft. Do we have this issue surfaced recently other than the original one? htt

[clang] [clang-tools-extra] [llvm] [clang] WIP: Improved Context Declaration tracking (PR #107942)

2025-03-14 Thread Younan Zhang via cfe-commits
zyn0217 wrote: A quick note that we want to test with this patch - [ ] https://github.com/llvm/llvm-project/issues/51315 - [ ] https://github.com/llvm/llvm-project/issues/127421 - [ ] https://github.com/llvm/llvm-project/issues/126550 - [ ] https://github.com/llvm/llvm-project/issues/120503 h

[clang] [Clang] Implement P0963R3 "Structured binding declaration as a condition" (PR #130228)

2025-03-15 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/130228 >From 295b8173b6913d9014c5786eb4af0112384afa65 Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Fri, 7 Mar 2025 11:38:11 +0800 Subject: [PATCH 1/7] [Clang] Implement P0963R3 "Structured binding declaration as

[clang] [Clang] Implement P0963R3 "Structured binding declaration as a condition" (PR #130228)

2025-03-15 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/130228 >From 295b8173b6913d9014c5786eb4af0112384afa65 Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Fri, 7 Mar 2025 11:38:11 +0800 Subject: [PATCH 1/6] [Clang] Implement P0963R3 "Structured binding declaration as

[clang] [clang][CodeComplete] Use HeuristicResolver in getAsRecordDecl() (PR #130473)

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

[clang] [Clang] Handle default template arguments for alias CTAD guides (PR #134807)

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

[clang] [clang] consistently quote expressions in diagnostics (PR #134769)

2025-04-08 Thread Younan Zhang via cfe-commits
@@ -143,8 +143,8 @@ def note_constexpr_null_subobject : Note< "access array element of|perform pointer arithmetic on|" "access real component of|" "access imaginary component of}0 null pointer">; -def note_constexpr_null_callee : Note< - "'%0' evaluates to a null functio

[clang] [clang] consistently quote expressions in diagnostics (PR #134769)

2025-04-08 Thread Younan Zhang via cfe-commits
@@ -18,19 +18,19 @@ int D = 1; #pragma data_seg(".data") int a = 1; extern const Mutable mutable_custom_section; -const Mutable mutable_custom_section; // expected-warning {{`#pragma const_seg` for section ".my_const" will not apply to 'mutable_custom_section' due to the pres

[clang] [clang][CodeComplete] Use HeuristicResolver in getAsRecordDecl() (PR #130473)

2025-04-07 Thread Younan Zhang via cfe-commits
@@ -54,8 +54,9 @@ IdentifierInfo *Parser::getSEHExceptKeyword() { } Parser::Parser(Preprocessor &pp, Sema &actions, bool skipFunctionBodies) -: PP(pp), PreferredType(pp.isCodeCompletionEnabled()), Actions(actions), - Diags(PP.getDiagnostics()), StackHandler(Diags), +

[clang] [clang][CodeComplete] Use HeuristicResolver in getAsRecordDecl() (PR #130473)

2025-04-07 Thread Younan Zhang via cfe-commits
@@ -5346,27 +5348,11 @@ AddRecordMembersCompletionResults(Sema &SemaRef, ResultBuilder &Results, // Returns the RecordDecl inside the BaseType, falling back to primary template // in case of specializations. Since we might not have a decl for the // instantiation/specializatio

[clang] [clang][CodeComplete] Use HeuristicResolver in getAsRecordDecl() (PR #130473)

2025-04-07 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 commented: Thanks for consistently working on this! https://github.com/llvm/llvm-project/pull/130473 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix dependent local class instantiation bugs (PR #134038)

2025-04-07 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/134038 >From a670287721da08e54e2908e9abe52ad86a92769b Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Wed, 2 Apr 2025 14:44:40 +0800 Subject: [PATCH 1/6] [Clang] Fix dependent local class instantiation bugs --- cla

[clang] [clang] Handle instantiated members to determine visibility (PR #136128)

2025-04-17 Thread Younan Zhang via cfe-commits
zyn0217 wrote: FYI the libc++ CI has been fixed so all you need to do is to rebase your branch https://github.com/llvm/llvm-project/pull/136128 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-

[clang] Reapply "[Clang] Fix dependent local class instantiation bugs" (PR #135914)

2025-04-16 Thread Younan Zhang via cfe-commits
zyn0217 wrote: @mysterymath In the meantime, can you please help us test the Fuchsia CI with this patch? I appreciate your help :) https://github.com/llvm/llvm-project/pull/135914 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.l

[clang] Reapply "[Clang] Fix dependent local class instantiation bugs" (PR #135914)

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

[clang] [Clang] Fix the trailing comma regression (PR #136273)

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

[clang] [Clang] Fix the trailing comma regression (PR #136273)

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

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

2025-04-18 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/136295 It doesn't make sense that we only build a RecoveryExpr for expressions with invalid trailing commas. This patch extends it so that we now always build up a RecoveryExpr whenever the call contains anything inva

[clang] [clang] Handle instantiated members to determine visibility (PR #136128)

2025-04-18 Thread Younan Zhang via cfe-commits
zyn0217 wrote: I was going to say we need a release note but you have merged it :) https://github.com/llvm/llvm-project/pull/136128 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] enhance loop analysis to handle variable changes inside lambdas (PR #135573)

2025-04-18 Thread Younan Zhang via cfe-commits
@@ -299,3 +299,38 @@ void test10() { for (auto[i, j, k] = arr; i < a; ++i) { } for (auto[i, j, k] = arr; i < a; ++arr[0]) { } }; + +namespace GH132038 { +extern void foo(int); +void test1() { + int a = 0; + auto incr_a = [&a]() { ++a; }; + + for (int b = 10; a <= b; incr

[clang] [clang] AST: remove source locations from [Variable/Dependent]SizedArrayType (PR #135511)

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

[clang] Reapply "[Clang] Fix dependent local class instantiation bugs" (PR #135914)

2025-04-16 Thread Younan Zhang via cfe-commits
zyn0217 wrote: > We're not really set up to run the full Fuchsia CI with specific upstream > patches, and it's a bit too flaky and expensive to be much good for that > anyway. For now, it's better as post-submit than pre-submit, I'm afraid. > > So long as this fixes the issue in the reproducer

[clang] Reapply "[Clang] Fix dependent local class instantiation bugs" (PR #135914)

2025-04-16 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/135914 >From 7d39d1a66c171bc6e44742c0baea5bcab777bacd Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Wed, 16 Apr 2025 13:27:54 +0800 Subject: [PATCH 1/3] Reapply "[Clang] Fix dependent local class instantiation bug

[clang] Reapply "[Clang] Fix dependent local class instantiation bugs" (PR #135914)

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

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

2025-04-21 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/136295 >From 8efadc35d64f2724d5610a7ae66fa70a7c8e3d46 Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Fri, 18 Apr 2025 19:20:49 +0800 Subject: [PATCH 1/2] [Clang] Improve error recovery for invalid calls It doesn't

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

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

[clang] [Clang] Bypass TAD during overload resolution if a perfect match exists (PR #136203)

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

[clang] [Clang] Fix the trailing comma regression (PR #136273)

2025-04-18 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/136273 925e195 introduced a regression since which we started to accept invalid trailing commas in many expression lists where they're not allowed by the grammar. The issue came from the fact that an additional invali

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

2025-04-18 Thread Younan Zhang via cfe-commits
@@ -34,21 +34,22 @@ void test_invalid_call_1(int s) { int some_func2(int a, int b); void test_invalid_call_2() { - // CHECK: -RecoveryExpr {{.*}} 'int' contains-errors + // CHECK: -RecoveryExpr {{.*}} '' contains-errors zyn0217 wrote: > In general this

[clang] [Clang] enhance loop analysis to handle variable changes inside lambdas (PR #135573)

2025-04-18 Thread Younan Zhang via cfe-commits
@@ -299,3 +299,38 @@ void test10() { for (auto[i, j, k] = arr; i < a; ++i) { } for (auto[i, j, k] = arr; i < a; ++arr[0]) { } }; + +namespace GH132038 { +extern void foo(int); +void test1() { + int a = 0; + auto incr_a = [&a]() { ++a; }; + + for (int b = 10; a <= b; incr

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

2025-04-18 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/136295 >From 8efadc35d64f2724d5610a7ae66fa70a7c8e3d46 Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Fri, 18 Apr 2025 19:20:49 +0800 Subject: [PATCH 1/2] [Clang] Improve error recovery for invalid calls It doesn't

[clang] [Clang] enhance loop analysis to handle variable changes inside lambdas (PR #135573)

2025-04-18 Thread Younan Zhang via cfe-commits
@@ -299,3 +299,38 @@ void test10() { for (auto[i, j, k] = arr; i < a; ++i) { } for (auto[i, j, k] = arr; i < a; ++arr[0]) { } }; + +namespace GH132038 { +extern void foo(int); +void test1() { + int a = 0; + auto incr_a = [&a]() { ++a; }; + + for (int b = 10; a <= b; incr

[clang] [Clang] Fix the trailing comma regression (PR #136273)

2025-04-18 Thread Younan Zhang via cfe-commits
zyn0217 wrote: /cherry-pick c7daab2 https://github.com/llvm/llvm-project/pull/136273 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] enhance loop analysis to handle variable changes inside lambdas (PR #135573)

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

[clang] [Clang] enhance loop analysis to handle variable changes inside lambdas (PR #135573)

2025-04-18 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 commented: @cor3ntin I question if `-Wloop-analysis` should be completely rewritten using dataflow analysis, rather than AST based matching. https://github.com/llvm/llvm-project/pull/135573 ___ cfe-commits mailing list cfe-c

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

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

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

2025-04-18 Thread Younan Zhang via cfe-commits
@@ -34,21 +34,22 @@ void test_invalid_call_1(int s) { int some_func2(int a, int b); void test_invalid_call_2() { - // CHECK: -RecoveryExpr {{.*}} 'int' contains-errors + // CHECK: -RecoveryExpr {{.*}} '' contains-errors zyn0217 wrote: We used to call Ac

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

2025-04-18 Thread Younan Zhang via cfe-commits
@@ -34,21 +34,22 @@ void test_invalid_call_1(int s) { int some_func2(int a, int b); void test_invalid_call_2() { - // CHECK: -RecoveryExpr {{.*}} 'int' contains-errors + // CHECK: -RecoveryExpr {{.*}} '' contains-errors zyn0217 wrote: And as for concept

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

2025-04-18 Thread Younan Zhang via cfe-commits
@@ -34,21 +34,22 @@ void test_invalid_call_1(int s) { int some_func2(int a, int b); void test_invalid_call_2() { - // CHECK: -RecoveryExpr {{.*}} 'int' contains-errors + // CHECK: -RecoveryExpr {{.*}} '' contains-errors zyn0217 wrote: > If calling ActOn

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

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

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

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

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

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

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

2025-04-18 Thread Younan Zhang via cfe-commits
@@ -34,21 +34,22 @@ void test_invalid_call_1(int s) { int some_func2(int a, int b); void test_invalid_call_2() { - // CHECK: -RecoveryExpr {{.*}} 'int' contains-errors + // CHECK: -RecoveryExpr {{.*}} '' contains-errors zyn0217 wrote: > I think we still

[clang] [Clang][NFC] Remove unused debug macro (PR #136400)

2025-04-18 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/136400 This macro appears to have been introduced accidentally and isn't used anywhere. >From 3e6564eb6304ded24d7817be08dfb257e4d9c66b Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Sat, 19 Apr 2025 11:41:48 +0800

[clang] [Clang][NFC] Remove unused debug macro (PR #136400)

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

[clang] [Clang][NFC] Remove unused debug macro (PR #136400)

2025-04-18 Thread Younan Zhang via cfe-commits
zyn0217 wrote: Actually it's used :( ```cpp /var/lib/buildkite-agent/builds/linux-56-59b8f5d88-5b8n6-1/llvm-project/github-pull-requests/clang/lib/AST/ExprConstant.cpp:11780:3: error: use of undeclared identifier 'DEBUG_TYPE'   | LLVM_DEBUG(llvm::dbgs() << "The number of elements to initialize:

[clang] [Clang] Improve error recovery for invalid calls (PR #136295)

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

[clang] [Clang][Sema] Handle invalid variable template specialization whose type depends on itself (PR #134522)

2025-04-28 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 commented: thanks, it looks much better https://github.com/llvm/llvm-project/pull/134522 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Handle invalid variable template specialization whose type depends on itself (PR #134522)

2025-04-28 Thread Younan Zhang via cfe-commits
@@ -4348,6 +4348,23 @@ struct PartialSpecMatchResult { VarTemplatePartialSpecializationDecl *Partial; TemplateArgumentList *Args; }; + +struct TemplateArgEqualityComparator { + const ASTContext &Context; + + bool operator()(const TemplateArgument &Canonical, +

[clang] [Clang][Sema] Handle invalid variable template specialization whose type depends on itself (PR #134522)

2025-04-28 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 edited https://github.com/llvm/llvm-project/pull/134522 ___ 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-04-23 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 1/9] Reapply "[Clang] Implement CWG2369 "Ordering between constra

[clang] [Clang] diagnose deleted/default redeclaration of defined friend functions (PR #136717)

2025-04-24 Thread Younan Zhang via cfe-commits
@@ -142,6 +142,14 @@ NamedDecl *Parser::ParseCXXInlineMethodDef( SkipUntil(tok::semi); } +if (FunctionDecl *FD = +dyn_cast_if_present(FnD->getPreviousDecl())) { + if (isa(FD->getLexicalDeclContext()) || + Actions.getDefaultedFunctionKind

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

2025-04-23 Thread Younan Zhang via cfe-commits
@@ -8058,6 +8059,54 @@ bool Sema::CheckNonDependentConversions( } } + // A heuristic & speculative workaround for bug + // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99599 that manifests after + // CWG2369. zyn0217 wrote: Yes, I'll look into that;

[clang] [Clang][P1061] Fix invalid pack binding crash (PR #135129)

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

[clang] [clang][CodeComplete] Use HeuristicResolver in getAsRecordDecl() (PR #130473)

2025-04-10 Thread Younan Zhang via cfe-commits
@@ -5346,27 +5348,11 @@ AddRecordMembersCompletionResults(Sema &SemaRef, ResultBuilder &Results, // Returns the RecordDecl inside the BaseType, falling back to primary template // in case of specializations. Since we might not have a decl for the // instantiation/specializatio

[clang] [clang] ItaniumMangle: fix mangling for unresolved types (PR #135312)

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

[clang] [Clang] Handle default template arguments for alias CTAD guides (PR #134807)

2025-04-13 Thread Younan Zhang via cfe-commits
@@ -690,6 +690,23 @@ SmallVector TemplateParamsReferencedInTemplateArgumentList( SemaRef.MarkUsedTemplateParameters( DeducedArgs, TemplateParamsList->getDepth(), ReferencedTemplateParams); + auto MarkDefaultArgs = [&](auto *Param) { +if (!Param || !Param->hasDefa

[clang] [clang] fix a crash in error recovery in expressions resolving to templates (PR #135893)

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

[clang] [Clang] Handle default template arguments for alias CTAD guides (PR #134807)

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

[clang] Reapply "[Clang] Fix dependent local class instantiation bugs" (PR #135914)

2025-04-15 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 created https://github.com/llvm/llvm-project/pull/135914 This reapplies #134038 Since the last patch, this fixes a null pointer dereference where the TSI of the destructor wasn't properly propagated into the DeclarationNameInfo. We now construct a LocInfoType for de

[clang] [Clang] Fix dependent local class instantiation bugs (PR #134038)

2025-04-13 Thread Younan Zhang via cfe-commits
zyn0217 wrote: Review ping https://github.com/llvm/llvm-project/pull/134038 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Reapply "[Clang] Fix dependent local class instantiation bugs" (PR #135914)

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

[clang] Reapply "[Clang] Fix dependent local class instantiation bugs" (PR #135914)

2025-04-15 Thread Younan Zhang via cfe-commits
zyn0217 wrote: The Linux CI failure seems unrelated because I saw the same from @cor3ntin's PR: https://buildkite.com/llvm-project/github-pull-requests/builds/168960 https://github.com/llvm/llvm-project/pull/135914 ___ cfe-commits mailing list cfe-co

[clang] [Clang][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

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

[clang] [Clang][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

2025-04-15 Thread Younan Zhang via cfe-commits
@@ -7834,7 +7838,7 @@ void Sema::AddMethodTemplateCandidate( Candidate.Function = MethodTmpl->getTemplatedDecl(); Candidate.Viable = false; Candidate.RewriteKind = - CandidateSet.getRewriteInfo().getRewriteKind(Candidate.Function, PO); +CandidateSet.get

[clang] [Clang][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

2025-04-15 Thread Younan Zhang via cfe-commits
@@ -7919,7 +7951,7 @@ void Sema::AddTemplateOverloadCandidate( Candidate.Function = FunctionTemplate->getTemplatedDecl(); Candidate.Viable = false; Candidate.RewriteKind = - CandidateSet.getRewriteInfo().getRewriteKind(Candidate.Function, PO); +Candidat

[clang] [Clang][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

2025-04-15 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. Some nits, and thanks for helping us in this area! https://github.com/llvm/llvm-project/pull/133426 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/li

[clang] [Clang][RFC] Bypass TAD during overload resolution if a perfect match exists (PR #133426)

2025-04-15 Thread Younan Zhang via cfe-commits
@@ -45,6 +45,7 @@ #include #include #include +#include zyn0217 wrote: We no longer use variant, right? https://github.com/llvm/llvm-project/pull/133426 ___ cfe-commits mailing list cfe-commits@lists.llvm.org htt

[clang] Reapply "[Clang] Fix dependent local class instantiation bugs" (PR #135914)

2025-04-16 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 updated https://github.com/llvm/llvm-project/pull/135914 >From 7d39d1a66c171bc6e44742c0baea5bcab777bacd Mon Sep 17 00:00:00 2001 From: Younan Zhang Date: Wed, 16 Apr 2025 13:27:54 +0800 Subject: [PATCH 1/3] Reapply "[Clang] Fix dependent local class instantiation bug

[clang] Reapply "[Clang] Fix dependent local class instantiation bugs" (PR #135914)

2025-04-16 Thread Younan Zhang via cfe-commits
@@ -347,7 +347,7 @@ ParsedType Sema::getDestructorName(const IdentifierInfo &II, QualType T = CheckTypenameType(ElaboratedTypeKeyword::None, SourceLocation(), SS.getWithLocInContext(Context), II, NameLoc); -return ParsedType::make(T); +

[clang] [Clang][Sema] Handle invalid variable template specialization whose type depends on itself (PR #134522)

2025-05-05 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. Thanks! This looks nice @erichkeane are you happy with the current state? https://github.com/llvm/llvm-project/pull/134522 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llv

[clang] [Clang] Bypass TAD during overload resolution if a perfect match exists (PR #136203)

2025-05-02 Thread Younan Zhang via cfe-commits
zyn0217 wrote: > This change breaks a bunch of other cases, for example, calls to > `NodeDefBuilder::Attr("...", {some_value})` > https://android.googlesource.com/platform/external/tensorflow/+/main/tensorflow/core/framework/node_def_builder.h#130 Can you provide us with a reduced example? ht

[clang] [Clang] Warning as error for fold expressions over comparison operators (PR #136836)

2025-05-01 Thread Younan Zhang via cfe-commits
@@ -132,3 +132,30 @@ bool f(); template void g(bool = (f() || ...)); } + + +namespace comparison_warning { + struct S { +bool operator<(const S&) const; +bool operator<(int) const; +bool operator==(const S&) const; + }; + + template + void f(T... ts) { +(v

[clang] [Clang] Warning as error for fold expressions over comparison operators (PR #136836)

2025-05-01 Thread Younan Zhang via cfe-commits
https://github.com/zyn0217 approved this pull request. Okay, let's go ahead as is. Though I feel it's unfortunate that the warnings for left fold and right fold are scattered - maybe we could clean them up in future Thanks for working on this. https://github.com/llvm/llvm-project/pull/136836

[clang] Fix missing initializer for inline static template member with auto caused by delayed template instantiation. (PR #138122)

2025-05-01 Thread Younan Zhang via cfe-commits
@@ -6027,8 +6027,15 @@ void Sema::BuildVariableInstantiation( Context.setManglingNumber(NewVar, Context.getManglingNumber(OldVar)); Context.setStaticLocalNumber(NewVar, Context.getStaticLocalNumber(OldVar)); + bool VarTemplateWithAutoType = false; + QualType VarSourceTyp

[clang] Fix missing initializer for inline static template member with auto caused by delayed template instantiation. (PR #138122)

2025-05-01 Thread Younan Zhang via cfe-commits
zyn0217 wrote: Also, can you help me test if this fixes https://github.com/llvm/llvm-project/issues/134526? Thanks https://github.com/llvm/llvm-project/pull/138122 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/

[clang] [Clang] incorrect assertion when checking template template parameter of a lambda (PR #138121)

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

[clang] [Clang] Warning as error for fold expressions over comparison operators (PR #136836)

2025-05-01 Thread Younan Zhang via cfe-commits
@@ -15050,7 +15050,7 @@ ExprResult Sema::CreateBuiltinBinOp(SourceLocation OpLoc, ResultTy = CheckCompareOperands(LHS, RHS, OpLoc, Opc); if (const auto *BI = dyn_cast(LHSExpr); -BI && BI->isComparisonOp()) +!ForFoldExpression && BI && BI->isComparisonO

[clang] [Clang] Preserve CXXParenListInitExpr in TreeTransform. (PR #138518)

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

<    12   13   14   15   16   17   18   19   20   21   >