[clang] [analyzer] Add std::variant checker (PR #66481)

2023-11-07 Thread Gábor Spaits via cfe-commits
spaits wrote: gentle ping @steakhal https://github.com/llvm/llvm-project/pull/66481 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Analyzer][NFC] Remove redundant function call (PR #75076)

2023-12-11 Thread Gábor Spaits via cfe-commits
https://github.com/spaits created https://github.com/llvm/llvm-project/pull/75076 `PRValueHandler`'s handle function is only called from Tracker's track function. In `Tracker::track` the `ExprNode` parameter passed to `PRValueHandler::handle` is already the `ExplodedNode` for the tracked expre

[clang] [Analyzer][NFC] Remove redundant function call (PR #75076)

2023-12-11 Thread Gábor Spaits via cfe-commits
spaits wrote: It is a great idea to use assertions here. It is exactly the context in which they should be used. I will add that. Thank you for the review. I have also thought about a possible different caller but I think it is very unlikely. These `ExpressionHandler`s are basically visitor li

[clang] [Analyzer][NFC] Remove redundant function call (PR #75076)

2023-12-11 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/75076 From f3d7181073996dd94e6d0b7ac403e9a3d97f4e0d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Mon, 11 Dec 2023 16:59:16 +0100 Subject: [PATCH 1/2] [Analyzer][NFC] Remove redundant function call PRValueHandler's

[clang] [Analyzer][NFC] Remove redundant function call (PR #75076)

2023-12-11 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/75076 From f3d7181073996dd94e6d0b7ac403e9a3d97f4e0d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Mon, 11 Dec 2023 16:59:16 +0100 Subject: [PATCH 1/2] [Analyzer][NFC] Remove redundant function call PRValueHandler's

[clang] [Analyzer][NFC] Remove redundant function call (PR #75076)

2023-12-11 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/75076 From f3d7181073996dd94e6d0b7ac403e9a3d97f4e0d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Mon, 11 Dec 2023 16:59:16 +0100 Subject: [PATCH 1/3] [Analyzer][NFC] Remove redundant function call PRValueHandler's

[clang] [Analyzer][NFC] Remove redundant function call (PR #75076)

2023-12-11 Thread Gábor Spaits via cfe-commits
@@ -2565,21 +2565,20 @@ class PRValueHandler final : public ExpressionHandler { using ExpressionHandler::ExpressionHandler; Tracker::Result handle(const Expr *E, const ExplodedNode *InputNode, - const ExplodedNode *ExprNode, +

[clang] [Analyzer][NFC] Remove redundant function call (PR #75076)

2023-12-11 Thread Gábor Spaits via cfe-commits
spaits wrote: My rationale behind this change is that, as I mentioned this class is for a very specific purpose. It is a module of sub-system, not a generic "library" class that is intended to be used from anywhere, so this class would not really make sense to be used anywhere else. If we tak

[clang] [Analyzer][NFC] Remove redundant function call (PR #75076)

2023-12-11 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/75076 From f3d7181073996dd94e6d0b7ac403e9a3d97f4e0d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Mon, 11 Dec 2023 16:59:16 +0100 Subject: [PATCH 1/3] [Analyzer][NFC] Remove redundant function call PRValueHandler's

[clang] [analyzer] Add std::variant checker (PR #66481)

2023-11-16 Thread Gábor Spaits via cfe-commits
@@ -0,0 +1,104 @@ +//===- TaggedUnionModeling.h -*- 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

[clang] [analyzer] Add std::variant checker (PR #66481)

2023-11-20 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/66481 From 1948d226de16bda2899ca562276370d20ceba236 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 15 Sep 2023 10:21:30 +0200 Subject: [PATCH 1/7] [analyzer] Add std::variant checker Adding a checker that check

[clang] [analyzer] Add std::variant checker (PR #66481)

2023-11-21 Thread Gábor Spaits via cfe-commits
spaits wrote: @steakhal I talked with @DonatNagyE and @dkrupp . We came to the conclusion, that the checker is only an alpha checker, would also not mean breaking changes to the analyzer and would not bring false positives. It also has been reviewed by @DonatNagyE . I would like to merge it in

[clang] [analyzer] Add std::variant checker (PR #66481)

2023-11-21 Thread Gábor Spaits via cfe-commits
https://github.com/spaits closed https://github.com/llvm/llvm-project/pull/66481 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [analyzer] Add std::variant checker (PR #66481)

2023-11-02 Thread Gábor Spaits via cfe-commits
@@ -0,0 +1,327 @@ +//===- StdVariantChecker.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

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits created https://github.com/llvm/llvm-project/pull/76501 Add a short documentation for `StdVariantChecker`. From f7f26c38d1d363bf1dd097dc73e004970dfb32df Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH] [analyzer] Add d

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501 From e885006a873e4bd8eb4618c270bac72c11446f06 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH] [analyzer] Add documentation for std::variant checker --- clang/do

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501 From e885006a873e4bd8eb4618c270bac72c11446f06 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH 1/2] [analyzer] Add documentation for std::variant checker --- clan

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501 From c1884cc4d17c446491777baa43e3996aae22ad0d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH] [analyzer] Add documentation for std::variant checker --- clang/do

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
spaits wrote: Added some more explanation. I will continue using "Check if" since the other descriptions that I saw stared like that (or "Check for"). https://github.com/llvm/llvm-project/pull/76501 ___ cfe-commits mailing list cfe-commits@lists.llvm.

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501 From c1884cc4d17c446491777baa43e3996aae22ad0d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH 1/2] [analyzer] Add documentation for std::variant checker --- clan

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501 From 682bed6d800133a2d1f21bd49491d002ec8c6b54 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH] [analyzer] Add documentation for std::variant checker --- clang/do

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501 From e0dabac5d84c291da39646efda189f6cdbcc369b Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH] [analyzer] Add documentation for std::variant checker --- clang/do

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501 From daec81389ccaa23f6f8c75abac9a2f827d4c0fcd Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH] [analyzer] Add documentation for std::variant checker --- clang/do

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501 From b271420a6e4ed23abf2749d767f986aa16d9fe9d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH] [analyzer] Add documentation for std::variant checker --- clang/do

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501 From b271420a6e4ed23abf2749d767f986aa16d9fe9d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH 1/2] [analyzer] Add documentation for std::variant checker --- clan

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501 From b271420a6e4ed23abf2749d767f986aa16d9fe9d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH 1/3] [analyzer] Add documentation for std::variant checker --- clan

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501 From b271420a6e4ed23abf2749d767f986aa16d9fe9d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH 1/4] [analyzer] Add documentation for std::variant checker --- clan

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501 From b271420a6e4ed23abf2749d767f986aa16d9fe9d Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH 1/5] [analyzer] Add documentation for std::variant checker --- clan

[clang] [Analyzer][NFC] Remove redundant function call (PR #75076)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits closed https://github.com/llvm/llvm-project/pull/75076 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
spaits wrote: I will merge the PR when the CI builds have finished. Thank you for reviewing. https://github.com/llvm/llvm-project/pull/76501 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

[clang] [analyzer] Add documentation for std::variant checker (PR #76501)

2023-12-28 Thread Gábor Spaits via cfe-commits
https://github.com/spaits closed https://github.com/llvm/llvm-project/pull/76501 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [analyzer] Add std::any checker (PR #76580)

2023-12-29 Thread Gábor Spaits via cfe-commits
https://github.com/spaits created https://github.com/llvm/llvm-project/pull/76580 Add a checker to detect bad `std::any` type accesses. It warns, when the active type is different from the requested type when calling `std::any_cast`: ```cpp void anyCast() { std::any a = 5; char c = std::any

[clang] [analyzer] Add std::any checker (PR #76580)

2023-12-29 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76580 From 98b52eb390438402562de96a74771b0132fc71cb Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 29 Dec 2023 17:54:34 +0100 Subject: [PATCH 1/7] [analyzer] Add std::any checker --- clang/docs/analyzer/checke

[clang] [analyzer] Add std::any checker (PR #76580)

2023-12-29 Thread Gábor Spaits via cfe-commits
@@ -0,0 +1,201 @@ +//===- StdAnyChecker.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

[clang] [analyzer] Add std::any checker (PR #76580)

2023-12-29 Thread Gábor Spaits via cfe-commits
@@ -0,0 +1,201 @@ +//===- StdAnyChecker.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

[clang] [analyzer] Add std::any checker (PR #76580)

2023-12-29 Thread Gábor Spaits via cfe-commits
@@ -0,0 +1,201 @@ +//===- StdAnyChecker.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

[clang] [analyzer] Add std::any checker (PR #76580)

2023-12-30 Thread Gábor Spaits via cfe-commits
@@ -58,6 +58,14 @@ void wontConfuseStdGets() { //// // std::get //// +void stdGetType2() { spaits wrote: O

[clang] [analyzer] Add std::any checker (PR #76580)

2023-12-30 Thread Gábor Spaits via cfe-commits
@@ -87,6 +85,28 @@ bool isStdVariant(const Type *Type) { return isStdType(Type, llvm::StringLiteral("variant")); } +bool isStdAny(const Type *Type) { + return isStdType(Type, llvm::StringLiteral("any")); +} + +bool isVowel(char a) { + switch (a) { + case 'a': + case 'e':

[clang] [analyzer] Add std::any checker (PR #76580)

2023-12-30 Thread Gábor Spaits via cfe-commits
@@ -0,0 +1,200 @@ +//===- StdAnyChecker.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

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-02 Thread Gábor Spaits via cfe-commits
@@ -87,6 +85,28 @@ bool isStdVariant(const Type *Type) { return isStdType(Type, llvm::StringLiteral("variant")); } +bool isStdAny(const Type *Type) { + return isStdType(Type, llvm::StringLiteral("any")); +} + +bool isVowel(char a) { + switch (a) { + case 'a': + case 'e':

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-03 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76580 From 98b52eb390438402562de96a74771b0132fc71cb Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 29 Dec 2023 17:54:34 +0100 Subject: [PATCH 1/8] [analyzer] Add std::any checker --- clang/docs/analyzer/checke

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-03 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76580 From 98b52eb390438402562de96a74771b0132fc71cb Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 29 Dec 2023 17:54:34 +0100 Subject: [PATCH 1/9] [analyzer] Add std::any checker --- clang/docs/analyzer/checke

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-03 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76580 From 98b52eb390438402562de96a74771b0132fc71cb Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 29 Dec 2023 17:54:34 +0100 Subject: [PATCH 01/10] [analyzer] Add std::any checker --- clang/docs/analyzer/chec

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-03 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76580 From 98b52eb390438402562de96a74771b0132fc71cb Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 29 Dec 2023 17:54:34 +0100 Subject: [PATCH 01/11] [analyzer] Add std::any checker --- clang/docs/analyzer/chec

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-03 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76580 From 98b52eb390438402562de96a74771b0132fc71cb Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 29 Dec 2023 17:54:34 +0100 Subject: [PATCH 01/12] [analyzer] Add std::any checker --- clang/docs/analyzer/chec

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-04 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76580 From 98b52eb390438402562de96a74771b0132fc71cb Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 29 Dec 2023 17:54:34 +0100 Subject: [PATCH 01/15] [analyzer] Add std::any checker --- clang/docs/analyzer/chec

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-04 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76580 From 98b52eb390438402562de96a74771b0132fc71cb Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 29 Dec 2023 17:54:34 +0100 Subject: [PATCH 01/16] [analyzer] Add std::any checker --- clang/docs/analyzer/chec

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-04 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76580 From 98b52eb390438402562de96a74771b0132fc71cb Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 29 Dec 2023 17:54:34 +0100 Subject: [PATCH 01/18] [analyzer] Add std::any checker --- clang/docs/analyzer/chec

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-04 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76580 From a19329050600d4d89cc698b686d7aaa13e0c22c2 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 29 Dec 2023 17:54:34 +0100 Subject: [PATCH 01/18] [analyzer] Add std::any checker --- clang/docs/analyzer/chec

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-10 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76580 From a19329050600d4d89cc698b686d7aaa13e0c22c2 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 29 Dec 2023 17:54:34 +0100 Subject: [PATCH 01/19] [analyzer] Add std::any checker --- clang/docs/analyzer/chec

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-10 Thread Gábor Spaits via cfe-commits
https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76580 From a19329050600d4d89cc698b686d7aaa13e0c22c2 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Fri, 29 Dec 2023 17:54:34 +0100 Subject: [PATCH 01/20] [analyzer] Add std::any checker --- clang/docs/analyzer/chec

[clang] [analyzer] Add std::any checker (PR #76580)

2024-01-10 Thread Gábor Spaits via cfe-commits
@@ -0,0 +1,201 @@ +//===- StdAnyChecker.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

[clang] [analyzer] Improve some comments in ArrayBoundCheckerV2 (NFC) (PR #83545)

2024-03-01 Thread Gábor Spaits via cfe-commits
@@ -301,21 +301,27 @@ compareValueToThreshold(ProgramStateRef State, NonLoc Value, NonLoc Threshold, // calling `evalBinOpNN`: if (isNegative(SVB, State, Value) && isUnsigned(SVB, Threshold)) { if (CheckEquality) { - // negative_value == unsigned_value is always f

[clang] [analyzer] Improve some comments in ArrayBoundCheckerV2 (NFC) (PR #83545)

2024-03-02 Thread Gábor Spaits via cfe-commits
@@ -301,21 +301,27 @@ compareValueToThreshold(ProgramStateRef State, NonLoc Value, NonLoc Threshold, // calling `evalBinOpNN`: if (isNegative(SVB, State, Value) && isUnsigned(SVB, Threshold)) { if (CheckEquality) { - // negative_value == unsigned_value is always f

[clang] [analyzer] Improve some comments in ArrayBoundCheckerV2 (NFC) (PR #83545)

2024-03-03 Thread Gábor Spaits via cfe-commits
https://github.com/spaits approved this pull request. https://github.com/llvm/llvm-project/pull/83545 ___ 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 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: https://stackoverflow.com/questions/77832658/stdtype-identity-to-support-s

[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 func

[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 func

[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 func

[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-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 func

[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() && + PackSc

[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
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 func

[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/7] [Sema]Substitue template parameter packs when deduced from func

[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 func

[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 func

[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; +S.co

[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() && + PackSc

[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 fu

[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 pl

[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 fu

[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 ___ cfe-comm

[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 fu

[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 fu

[clang] [Sema] Substitue parameter packs when deduced from function arguments (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] Substitute parameter packs when deduced from function arguments (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] Substitute parameter packs when deduced from function arguments (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 a27fe8c4179a58a741121eec9e8368c9ab44d7cc 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 fu

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

2024-01-25 Thread Gábor Spaits via cfe-commits
spaits wrote: @cor3ntin @erichkeane Thank you for checking the updates on my PR. I fixed the typo and added the release notes. https://github.com/llvm/llvm-project/pull/79371 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.o

[clang] [Sema] Substitute parameter packs when deduced from function arguments (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 a27fe8c4179a58a741121eec9e8368c9ab44d7cc Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 01/13] [Sema]Substitue template parameter packs when deduced from fu

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

2024-01-25 Thread Gábor Spaits via cfe-commits
spaits wrote: > > @cor3ntin @erichkeane Thank you for checking the updates on my PR. I fixed > > the typo and added the release notes. Also rebased the branch. > > Looks like the release notes change failed CI. Not my changes. This was commited 3 hours ago: https://github.com/spaits/llvm-proj

[clang] [Sema] Substitute parameter packs when deduced from function arguments (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: I added a test for this. https://

[clang] [Sema] Substitute parameter packs when deduced from function arguments (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 38107a96c18fc5d008873fbac5257f0f476799f3 Mon Sep 17 00:00:00 2001 From: Gabor Spaits Date: Wed, 24 Jan 2024 21:21:26 +0100 Subject: [PATCH 01/13] [Sema]Substitue template parameter packs when deduced from fu

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

2024-01-26 Thread Gábor Spaits via cfe-commits
spaits wrote: It looks like libc++ test suites are failing. Looking at the logs from the CI I can not really figure out what is the exact reason. I could only deduce that the failing test case is `libcxx/gdb/gdb_pretty_printer_test.sh.cpp`. This case seems to be related to `libcxx/selftest/con

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

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

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

2024-01-26 Thread Gábor Spaits via cfe-commits
spaits wrote: I did some more digging. I saw that the test in the CI fails with permission errors. ``` | No symbol table is loaded. Use the "file" command. | warning: opening /proc/PID/mem file for lwp 4103309.4103309 failed: Permission denied (13) | Traceback (most recent call last): | Fil

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

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

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

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

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

2024-01-26 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: Added the test. It also works. ht

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

2024-01-26 Thread Gábor Spaits 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] Substitute parameter packs when deduced from function arguments (PR #79371)

2024-01-26 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] Substitute parameter packs when deduced from function arguments (PR #79371)

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

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

2024-01-27 Thread Gábor Spaits 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] Substitute parameter packs when deduced from function arguments (PR #79371)

2024-01-27 Thread Gábor Spaits via cfe-commits
spaits wrote: Thank you for reviewing. Before merge we should take a look at the CI. It still fails for libc++ 26 suite, with the same reason as before. I wanted to reproduce the issue. I built libc++ with the clang++ I compiled: ``` cmake -S "../runtimes" -GNinja \ -DLLVM_ENABLE_RUN

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

2024-01-27 Thread Gábor Spaits via cfe-commits
spaits wrote: @cor3ntin I see that you have CI runs that fail with exactly the same reason as my runs: https://buildkite.com/llvm-project/clang-ci/builds/10874#018d49c2-1224-4939-9430-0e5a2be796a9 . https://github.com/llvm/llvm-project/pull/79371 __

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

2024-01-27 Thread Gábor Spaits via cfe-commits
spaits wrote: > It's unrelated to your changes. Configuration issue on the CI, probably Okay. Then I will merge this. Thank you very much for reviewing my PR and helping me. https://github.com/llvm/llvm-project/pull/79371 ___ cfe-commits mailing list

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

2024-01-27 Thread Gábor Spaits via cfe-commits
https://github.com/spaits closed 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

  1   2   >