[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/79371 From c00b8bd525b6acab45009188a7b9d1cb8c7eb30d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 01/12] [Sema]Substitue template parameter packs when deduced from

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/79371 From c00b8bd525b6acab45009188a7b9d1cb8c7eb30d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 01/11] [Sema]Substitue template parameter packs when deduced from

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
spaits wrote: > I don't see the release note, and there is a typo in the PR entry that should > be fixed. > > Else just 1 nit. Oh sorry I forgot about the release note. I will update that. https://github.com/llvm/llvm-project/pull/79371 ___

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Erich Keane via cfe-commits
@@ -858,6 +859,27 @@ class PackDeductionScope { Info.PendingDeducedPacks[Pack.Index] = Pack.Outer; } + // Return the size of the saved packs if all of them has the same size. + std::optional getSavedPackSizeIfAllEqual() const { +if (Packs.size() == 0 || +

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Erich Keane via cfe-commits
https://github.com/erichkeane edited https://github.com/llvm/llvm-project/pull/79371 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Erich Keane via cfe-commits
https://github.com/erichkeane commented: I don't see the release note, and there is a typo in the PR entry that should be fixed. Else just 1 nit. https://github.com/llvm/llvm-project/pull/79371 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/79371 From c00b8bd525b6acab45009188a7b9d1cb8c7eb30d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 01/10] [Sema]Substitue template parameter packs when deduced from

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
spaits wrote: Thank you @cor3ntin for reviewing my PR. I addressed all of your comments. - I fixed the types. - I added support for deduction of non-trailing packs when there is no separator type. - Simplified the code. This simplification has affect on the code you asked about. Could you

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/79371 From d4ca5c2fcb87f424be23efc4513df491403c3811 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 01/10] [Sema]Substitue template parameter packs when deduced from

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
@@ -4371,6 +4397,41 @@ Sema::TemplateDeductionResult Sema::DeduceTemplateArguments( // corresponding argument is a list? PackScope.nextPackElement(); } + } else if (!IsTrailingPack && !PackScope.isPartiallyExpanded() && +

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
@@ -858,6 +859,30 @@ class PackDeductionScope { Info.PendingDeducedPacks[Pack.Index] = Pack.Outer; } + std::optional getSavedPackSize(unsigned Index, + TemplateArgument Pattern) const { + +SmallVector Unexpanded; +

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/79371 From d4ca5c2fcb87f424be23efc4513df491403c3811 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 1/9] [Sema]Substitue template parameter packs when deduced from

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/79371 From d4ca5c2fcb87f424be23efc4513df491403c3811 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 1/8] [Sema]Substitue template parameter packs when deduced from

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/79371 From d4ca5c2fcb87f424be23efc4513df491403c3811 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 1/7] [Sema]Substitue template parameter packs when deduced from

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
@@ -431,6 +442,17 @@ namespace deduction_after_explicit_pack { i(0, 1, 2, 3, 4, 5); // expected-error {{no match}} } + template + void bar(args_tag, type_identity_t..., int mid, type_identity_t...) {} spaits wrote: It could work. It would cost only

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/79371 From d4ca5c2fcb87f424be23efc4513df491403c3811 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 1/6] [Sema]Substitue template parameter packs when deduced from

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
https://github.com/spaits edited https://github.com/llvm/llvm-project/pull/79371 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
@@ -4371,6 +4397,41 @@ Sema::TemplateDeductionResult Sema::DeduceTemplateArguments( // corresponding argument is a list? PackScope.nextPackElement(); } + } else if (!IsTrailingPack && !PackScope.isPartiallyExpanded() && +

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/79371 From d4ca5c2fcb87f424be23efc4513df491403c3811 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 1/5] [Sema]Substitue template parameter packs when deduced from

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread via cfe-commits
https://github.com/cor3ntin commented: Thanks for working on this! It looks like a good direction. I left a few comments Can you add a changelog entry? Thanks https://github.com/llvm/llvm-project/pull/79371 ___ cfe-commits mailing list

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread via cfe-commits
https://github.com/cor3ntin edited https://github.com/llvm/llvm-project/pull/79371 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread via cfe-commits
@@ -858,6 +859,30 @@ class PackDeductionScope { Info.PendingDeducedPacks[Pack.Index] = Pack.Outer; } + std::optional getSavedPackSize(unsigned Index, + TemplateArgument Pattern) const { + +SmallVector Unexpanded; +

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread via cfe-commits
@@ -431,6 +442,17 @@ namespace deduction_after_explicit_pack { i(0, 1, 2, 3, 4, 5); // expected-error {{no match}} } + template + void bar(args_tag, type_identity_t..., int mid, type_identity_t...) {} cor3ntin wrote: What happens without the mid

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread via cfe-commits
@@ -4371,6 +4397,41 @@ Sema::TemplateDeductionResult Sema::DeduceTemplateArguments( // corresponding argument is a list? PackScope.nextPackElement(); } + } else if (!IsTrailingPack && !PackScope.isPartiallyExpanded() && +

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread via cfe-commits
@@ -4371,6 +4397,41 @@ Sema::TemplateDeductionResult Sema::DeduceTemplateArguments( // corresponding argument is a list? PackScope.nextPackElement(); } + } else if (!IsTrailingPack && !PackScope.isPartiallyExpanded() && +

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-25 Thread via cfe-commits
@@ -4371,6 +4397,41 @@ Sema::TemplateDeductionResult Sema::DeduceTemplateArguments( // corresponding argument is a list? PackScope.nextPackElement(); } + } else if (!IsTrailingPack && !PackScope.isPartiallyExpanded() && +

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-24 Thread Gábor Spaits via cfe-commits
https://github.com/spaits edited https://github.com/llvm/llvm-project/pull/79371 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-24 Thread Gábor Spaits via cfe-commits
https://github.com/spaits edited https://github.com/llvm/llvm-project/pull/79371 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-24 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/79371 From d4ca5c2fcb87f424be23efc4513df491403c3811 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 1/4] [Sema]Substitue template parameter packs when deduced from

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-24 Thread Gábor Spaits via cfe-commits
https://github.com/spaits edited https://github.com/llvm/llvm-project/pull/79371 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-24 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/79371 From d4ca5c2fcb87f424be23efc4513df491403c3811 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 1/3] [Sema]Substitue template parameter packs when deduced from

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-24 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/79371 From d4ca5c2fcb87f424be23efc4513df491403c3811 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 1/2] [Sema]Substitue template parameter packs when deduced from

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-24 Thread via cfe-commits
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff 604a6c409e8473b212952b8633d92bbdb22a45c9 d4ca5c2fcb87f424be23efc4513df491403c3811 --

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-24 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Gábor Spaits (spaits) Changes This pull request would solve https://github.com/llvm/llvm-project/issues/78449 . There is also a discussion about this on stackoverflow:

[clang] [Sema]Substitue parameter packs when deduced from function parameter (PR #79371)

2024-01-24 Thread Gábor Spaits via cfe-commits
https://github.com/spaits created https://github.com/llvm/llvm-project/pull/79371 This pull request would solve https://github.com/llvm/llvm-project/issues/78449 . There is also a discussion about this on stackoverflow: