[clang-tools-extra] [clang-tidy] Ignore delete ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-09 Thread Mike Weller via cfe-commits

https://github.com/MikeWeller created 
https://github.com/llvm/llvm-project/pull/88138

Fix `bugprone-forwarding-reference-overload` so it doesn't report a constructor 
that is deleted.

>From 6c188e730f43467c3a7940c0ca6f6bd0bc8fc7f1 Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Tue, 9 Apr 2024 16:03:31 +0100
Subject: [PATCH] [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

Fix `bugprone-forwarding-reference-overload` so it doesn't report a constructor 
that is deleted.
---
 .../bugprone/ForwardingReferenceOverloadCheck.cpp  | 1 +
 .../checkers/bugprone/forwarding-reference-overload.cpp| 7 +++
 2 files changed, 8 insertions(+)

diff --git 
a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
index c608fe713f9f5b..e42b40d7b6690e 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
@@ -73,6 +73,7 @@ void 
ForwardingReferenceOverloadCheck::registerMatchers(MatchFinder *Finder) {
   DeclarationMatcher FindOverload =
   cxxConstructorDecl(
   hasParameter(0, ForwardingRefParm),
+  unless(isDeleted()),
   unless(hasAnyParameter(
   // No warning: enable_if as constructor parameter.
   parmVarDecl(hasType(isEnableIf(),
diff --git 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
index 38b0691bc9f1ec..609baa049a2063 100644
--- 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
+++ 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
@@ -251,3 +251,10 @@ class Test10 {
   Test10(T &&Item, E e)
   : e(e){}
 };
+
+// A deleted ctor cannot hide anything
+class Test11 {
+public:
+  template 
+  Test11(T&&) = delete;
+};

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore delete ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-09 Thread Mike Weller via cfe-commits

MikeWeller wrote:

https://github.com/llvm/llvm-project/issues/88128

https://github.com/llvm/llvm-project/pull/88138
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-09 Thread Mike Weller via cfe-commits

https://github.com/MikeWeller edited 
https://github.com/llvm/llvm-project/pull/88138
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-09 Thread Mike Weller via cfe-commits


@@ -251,3 +251,10 @@ class Test10 {
   Test10(T &&Item, E e)
   : e(e){}
 };
+
+// A deleted ctor cannot hide anything
+class Test11 {
+public:
+  template 
+  Test11(T&&) = delete;

MikeWeller wrote:

Although this is enough to trigger (or not after the fix) the issue, perhaps I 
should include a copy+move ctor below for clarity?

https://github.com/llvm/llvm-project/pull/88138
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-09 Thread Mike Weller via cfe-commits

https://github.com/MikeWeller updated 
https://github.com/llvm/llvm-project/pull/88138

>From 4cb9527430d3c7f9acc518427a29eae0aa7e00d1 Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Tue, 9 Apr 2024 16:03:31 +0100
Subject: [PATCH] [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

Fix `bugprone-forwarding-reference-overload` so it doesn't report a constructor 
that is deleted.
---
 .../bugprone/ForwardingReferenceOverloadCheck.cpp  |  1 +
 .../bugprone/forwarding-reference-overload.cpp | 10 ++
 2 files changed, 11 insertions(+)

diff --git 
a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
index c608fe713f9f5b..e42b40d7b6690e 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
@@ -73,6 +73,7 @@ void 
ForwardingReferenceOverloadCheck::registerMatchers(MatchFinder *Finder) {
   DeclarationMatcher FindOverload =
   cxxConstructorDecl(
   hasParameter(0, ForwardingRefParm),
+  unless(isDeleted()),
   unless(hasAnyParameter(
   // No warning: enable_if as constructor parameter.
   parmVarDecl(hasType(isEnableIf(),
diff --git 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
index 38b0691bc9f1ec..92dfb718bb51b7 100644
--- 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
+++ 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
@@ -251,3 +251,13 @@ class Test10 {
   Test10(T &&Item, E e)
   : e(e){}
 };
+
+// A deleted ctor cannot hide anything
+class Test11 {
+public:
+  template 
+  Test11(T&&) = delete;
+
+  Test11(const Test11 &) = default;
+  Test11(Test11 &&) = default;
+};

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-09 Thread Mike Weller via cfe-commits

https://github.com/MikeWeller ready_for_review 
https://github.com/llvm/llvm-project/pull/88138
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-13 Thread Mike Weller via cfe-commits

MikeWeller wrote:

Sorry, didn't realize there are release notes I can updated in the change 
itself. Will do this Monday.

https://github.com/llvm/llvm-project/pull/88138
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-15 Thread Mike Weller via cfe-commits

https://github.com/MikeWeller updated 
https://github.com/llvm/llvm-project/pull/88138

>From 4cb9527430d3c7f9acc518427a29eae0aa7e00d1 Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Tue, 9 Apr 2024 16:03:31 +0100
Subject: [PATCH 1/2] [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

Fix `bugprone-forwarding-reference-overload` so it doesn't report a constructor 
that is deleted.
---
 .../bugprone/ForwardingReferenceOverloadCheck.cpp  |  1 +
 .../bugprone/forwarding-reference-overload.cpp | 10 ++
 2 files changed, 11 insertions(+)

diff --git 
a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
index c608fe713f9f5b..e42b40d7b6690e 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
@@ -73,6 +73,7 @@ void 
ForwardingReferenceOverloadCheck::registerMatchers(MatchFinder *Finder) {
   DeclarationMatcher FindOverload =
   cxxConstructorDecl(
   hasParameter(0, ForwardingRefParm),
+  unless(isDeleted()),
   unless(hasAnyParameter(
   // No warning: enable_if as constructor parameter.
   parmVarDecl(hasType(isEnableIf(),
diff --git 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
index 38b0691bc9f1ec..92dfb718bb51b7 100644
--- 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
+++ 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
@@ -251,3 +251,13 @@ class Test10 {
   Test10(T &&Item, E e)
   : e(e){}
 };
+
+// A deleted ctor cannot hide anything
+class Test11 {
+public:
+  template 
+  Test11(T&&) = delete;
+
+  Test11(const Test11 &) = default;
+  Test11(Test11 &&) = default;
+};

>From 5f4f9c937ce9b2da54bbf303ddfa0d18dc92f4dc Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Mon, 15 Apr 2024 08:07:16 +0100
Subject: [PATCH 2/2] Update release notes

---
 clang-tools-extra/docs/ReleaseNotes.rst | 1 +
 1 file changed, 1 insertion(+)

diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index a7193e90c38da2..1a59449fdf7560 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -100,6 +100,7 @@ Improvements to clang-tidy
 - Improved :program:`run-clang-tidy.py` script. Added argument `-source-filter`
   to filter source files from the compilation database, via a RegEx. In a
   similar fashion to what `-header-filter` does for header files.
+- Fixed an issue with `bugprone-forwarding-reference-overload` where it would 
incorrectly flag deleted constructors
 
 New checks
 ^^

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-15 Thread Mike Weller via cfe-commits

https://github.com/MikeWeller updated 
https://github.com/llvm/llvm-project/pull/88138

>From 483bd05ec3c0575ed6771ef093368d6be19f5d3f Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Tue, 9 Apr 2024 16:03:31 +0100
Subject: [PATCH] [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

Fix `bugprone-forwarding-reference-overload` so it doesn't report a constructor 
that is deleted.
---
 .../bugprone/ForwardingReferenceOverloadCheck.cpp  |  1 +
 clang-tools-extra/docs/ReleaseNotes.rst|  1 +
 .../bugprone/forwarding-reference-overload.cpp | 10 ++
 3 files changed, 12 insertions(+)

diff --git 
a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
index c608fe713f9f5b..e42b40d7b6690e 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
@@ -73,6 +73,7 @@ void 
ForwardingReferenceOverloadCheck::registerMatchers(MatchFinder *Finder) {
   DeclarationMatcher FindOverload =
   cxxConstructorDecl(
   hasParameter(0, ForwardingRefParm),
+  unless(isDeleted()),
   unless(hasAnyParameter(
   // No warning: enable_if as constructor parameter.
   parmVarDecl(hasType(isEnableIf(),
diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index 1405fb0df1f8dd..4e4dd35242478f 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -102,6 +102,7 @@ Improvements to clang-tidy
   similar fashion to what `-header-filter` does for header files.
 - Improved :program:`check_clang_tidy.py` script. Added argument 
`-export-fixes`
   to aid in clang-tidy and test development.
+- Fixed an issue with `bugprone-forwarding-reference-overload` where it would 
incorrectly flag deleted constructors
 
 New checks
 ^^
diff --git 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
index 38b0691bc9f1ec..92dfb718bb51b7 100644
--- 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
+++ 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
@@ -251,3 +251,13 @@ class Test10 {
   Test10(T &&Item, E e)
   : e(e){}
 };
+
+// A deleted ctor cannot hide anything
+class Test11 {
+public:
+  template 
+  Test11(T&&) = delete;
+
+  Test11(const Test11 &) = default;
+  Test11(Test11 &&) = default;
+};

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-15 Thread Mike Weller via cfe-commits

MikeWeller wrote:

Given the small size of the change I just did a rebase and force push to 
resolve conflicts with the release notes.

https://github.com/llvm/llvm-project/pull/88138
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-15 Thread Mike Weller via cfe-commits

https://github.com/MikeWeller updated 
https://github.com/llvm/llvm-project/pull/88138

>From 483bd05ec3c0575ed6771ef093368d6be19f5d3f Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Tue, 9 Apr 2024 16:03:31 +0100
Subject: [PATCH 1/2] [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

Fix `bugprone-forwarding-reference-overload` so it doesn't report a constructor 
that is deleted.
---
 .../bugprone/ForwardingReferenceOverloadCheck.cpp  |  1 +
 clang-tools-extra/docs/ReleaseNotes.rst|  1 +
 .../bugprone/forwarding-reference-overload.cpp | 10 ++
 3 files changed, 12 insertions(+)

diff --git 
a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
index c608fe713f9f5b..e42b40d7b6690e 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
@@ -73,6 +73,7 @@ void 
ForwardingReferenceOverloadCheck::registerMatchers(MatchFinder *Finder) {
   DeclarationMatcher FindOverload =
   cxxConstructorDecl(
   hasParameter(0, ForwardingRefParm),
+  unless(isDeleted()),
   unless(hasAnyParameter(
   // No warning: enable_if as constructor parameter.
   parmVarDecl(hasType(isEnableIf(),
diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index 1405fb0df1f8dd..4e4dd35242478f 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -102,6 +102,7 @@ Improvements to clang-tidy
   similar fashion to what `-header-filter` does for header files.
 - Improved :program:`check_clang_tidy.py` script. Added argument 
`-export-fixes`
   to aid in clang-tidy and test development.
+- Fixed an issue with `bugprone-forwarding-reference-overload` where it would 
incorrectly flag deleted constructors
 
 New checks
 ^^
diff --git 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
index 38b0691bc9f1ec..92dfb718bb51b7 100644
--- 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
+++ 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
@@ -251,3 +251,13 @@ class Test10 {
   Test10(T &&Item, E e)
   : e(e){}
 };
+
+// A deleted ctor cannot hide anything
+class Test11 {
+public:
+  template 
+  Test11(T&&) = delete;
+
+  Test11(const Test11 &) = default;
+  Test11(Test11 &&) = default;
+};

>From 49eccb42605236abb56cef2950a6d1a4273b45cb Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Mon, 15 Apr 2024 13:55:54 +0100
Subject: [PATCH 2/2] fixup! [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

---
 clang-tools-extra/docs/ReleaseNotes.rst | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index 4e4dd35242478f..b3d710535f625a 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -102,7 +102,6 @@ Improvements to clang-tidy
   similar fashion to what `-header-filter` does for header files.
 - Improved :program:`check_clang_tidy.py` script. Added argument 
`-export-fixes`
   to aid in clang-tidy and test development.
-- Fixed an issue with `bugprone-forwarding-reference-overload` where it would 
incorrectly flag deleted constructors
 
 New checks
 ^^
@@ -287,6 +286,10 @@ Changes in existing checks
   check by resolving fix-it overlaps in template code by disregarding implicit
   instances.
 
+- Improved :doc:`bugprone-forwarding-reference-overload
+  `
+  check to not flag deleted constructors which are unable to hide anything.
+
 Removed checks
 ^^
 

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-15 Thread Mike Weller via cfe-commits

MikeWeller wrote:

@PiotrZSL apologies, have put it in the correct location. Is there a way to 
preview/check the `:doc:` thing? I assume there is some kind of 
preprocessor/tool step for this? I copied what the rest are doing and put the 
appropriate section of the 
https://clang.llvm.org/extra/clang-tidy/checks/bugprone/forwarding-reference-overload.html
 URL.

https://github.com/llvm/llvm-project/pull/88138
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-15 Thread Mike Weller via cfe-commits

https://github.com/MikeWeller updated 
https://github.com/llvm/llvm-project/pull/88138

>From 483bd05ec3c0575ed6771ef093368d6be19f5d3f Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Tue, 9 Apr 2024 16:03:31 +0100
Subject: [PATCH 1/3] [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

Fix `bugprone-forwarding-reference-overload` so it doesn't report a constructor 
that is deleted.
---
 .../bugprone/ForwardingReferenceOverloadCheck.cpp  |  1 +
 clang-tools-extra/docs/ReleaseNotes.rst|  1 +
 .../bugprone/forwarding-reference-overload.cpp | 10 ++
 3 files changed, 12 insertions(+)

diff --git 
a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
index c608fe713f9f5b..e42b40d7b6690e 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
@@ -73,6 +73,7 @@ void 
ForwardingReferenceOverloadCheck::registerMatchers(MatchFinder *Finder) {
   DeclarationMatcher FindOverload =
   cxxConstructorDecl(
   hasParameter(0, ForwardingRefParm),
+  unless(isDeleted()),
   unless(hasAnyParameter(
   // No warning: enable_if as constructor parameter.
   parmVarDecl(hasType(isEnableIf(),
diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index 1405fb0df1f8dd..4e4dd35242478f 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -102,6 +102,7 @@ Improvements to clang-tidy
   similar fashion to what `-header-filter` does for header files.
 - Improved :program:`check_clang_tidy.py` script. Added argument 
`-export-fixes`
   to aid in clang-tidy and test development.
+- Fixed an issue with `bugprone-forwarding-reference-overload` where it would 
incorrectly flag deleted constructors
 
 New checks
 ^^
diff --git 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
index 38b0691bc9f1ec..92dfb718bb51b7 100644
--- 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
+++ 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
@@ -251,3 +251,13 @@ class Test10 {
   Test10(T &&Item, E e)
   : e(e){}
 };
+
+// A deleted ctor cannot hide anything
+class Test11 {
+public:
+  template 
+  Test11(T&&) = delete;
+
+  Test11(const Test11 &) = default;
+  Test11(Test11 &&) = default;
+};

>From 49eccb42605236abb56cef2950a6d1a4273b45cb Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Mon, 15 Apr 2024 13:55:54 +0100
Subject: [PATCH 2/3] fixup! [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

---
 clang-tools-extra/docs/ReleaseNotes.rst | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index 4e4dd35242478f..b3d710535f625a 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -102,7 +102,6 @@ Improvements to clang-tidy
   similar fashion to what `-header-filter` does for header files.
 - Improved :program:`check_clang_tidy.py` script. Added argument 
`-export-fixes`
   to aid in clang-tidy and test development.
-- Fixed an issue with `bugprone-forwarding-reference-overload` where it would 
incorrectly flag deleted constructors
 
 New checks
 ^^
@@ -287,6 +286,10 @@ Changes in existing checks
   check by resolving fix-it overlaps in template code by disregarding implicit
   instances.
 
+- Improved :doc:`bugprone-forwarding-reference-overload
+  `
+  check to not flag deleted constructors which are unable to hide anything.
+
 Removed checks
 ^^
 

>From fd545ed87cab79e33dbc7de42a1d136114615fe4 Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Mon, 15 Apr 2024 15:13:18 +0100
Subject: [PATCH 3/3] fixup! [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

---
 clang-tools-extra/docs/ReleaseNotes.rst | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index b3d710535f625a..c504335676ac46 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -147,6 +147,10 @@ Changes in existing checks
   ` check by detecting side
   effect from calling a method with non-const reference parameters.
 
+- Improved :doc:`bugprone-forwarding-reference-overload
+  `
+  check to not flag deleted constructors which are unable to hide anything.
+
 - Improved :doc:`bugprone-inc-dec-in-conditions
   ` check to ignore code
   within unevaluated contexts, such as ``decltype``.
@@ -286

[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-15 Thread Mike Weller via cfe-commits

https://github.com/MikeWeller updated 
https://github.com/llvm/llvm-project/pull/88138

>From 483bd05ec3c0575ed6771ef093368d6be19f5d3f Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Tue, 9 Apr 2024 16:03:31 +0100
Subject: [PATCH 1/4] [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

Fix `bugprone-forwarding-reference-overload` so it doesn't report a constructor 
that is deleted.
---
 .../bugprone/ForwardingReferenceOverloadCheck.cpp  |  1 +
 clang-tools-extra/docs/ReleaseNotes.rst|  1 +
 .../bugprone/forwarding-reference-overload.cpp | 10 ++
 3 files changed, 12 insertions(+)

diff --git 
a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
index c608fe713f9f5b..e42b40d7b6690e 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
@@ -73,6 +73,7 @@ void 
ForwardingReferenceOverloadCheck::registerMatchers(MatchFinder *Finder) {
   DeclarationMatcher FindOverload =
   cxxConstructorDecl(
   hasParameter(0, ForwardingRefParm),
+  unless(isDeleted()),
   unless(hasAnyParameter(
   // No warning: enable_if as constructor parameter.
   parmVarDecl(hasType(isEnableIf(),
diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index 1405fb0df1f8dd..4e4dd35242478f 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -102,6 +102,7 @@ Improvements to clang-tidy
   similar fashion to what `-header-filter` does for header files.
 - Improved :program:`check_clang_tidy.py` script. Added argument 
`-export-fixes`
   to aid in clang-tidy and test development.
+- Fixed an issue with `bugprone-forwarding-reference-overload` where it would 
incorrectly flag deleted constructors
 
 New checks
 ^^
diff --git 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
index 38b0691bc9f1ec..92dfb718bb51b7 100644
--- 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
+++ 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
@@ -251,3 +251,13 @@ class Test10 {
   Test10(T &&Item, E e)
   : e(e){}
 };
+
+// A deleted ctor cannot hide anything
+class Test11 {
+public:
+  template 
+  Test11(T&&) = delete;
+
+  Test11(const Test11 &) = default;
+  Test11(Test11 &&) = default;
+};

>From 49eccb42605236abb56cef2950a6d1a4273b45cb Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Mon, 15 Apr 2024 13:55:54 +0100
Subject: [PATCH 2/4] fixup! [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

---
 clang-tools-extra/docs/ReleaseNotes.rst | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index 4e4dd35242478f..b3d710535f625a 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -102,7 +102,6 @@ Improvements to clang-tidy
   similar fashion to what `-header-filter` does for header files.
 - Improved :program:`check_clang_tidy.py` script. Added argument 
`-export-fixes`
   to aid in clang-tidy and test development.
-- Fixed an issue with `bugprone-forwarding-reference-overload` where it would 
incorrectly flag deleted constructors
 
 New checks
 ^^
@@ -287,6 +286,10 @@ Changes in existing checks
   check by resolving fix-it overlaps in template code by disregarding implicit
   instances.
 
+- Improved :doc:`bugprone-forwarding-reference-overload
+  `
+  check to not flag deleted constructors which are unable to hide anything.
+
 Removed checks
 ^^
 

>From fd545ed87cab79e33dbc7de42a1d136114615fe4 Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Mon, 15 Apr 2024 15:13:18 +0100
Subject: [PATCH 3/4] fixup! [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

---
 clang-tools-extra/docs/ReleaseNotes.rst | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index b3d710535f625a..c504335676ac46 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -147,6 +147,10 @@ Changes in existing checks
   ` check by detecting side
   effect from calling a method with non-const reference parameters.
 
+- Improved :doc:`bugprone-forwarding-reference-overload
+  `
+  check to not flag deleted constructors which are unable to hide anything.
+
 - Improved :doc:`bugprone-inc-dec-in-conditions
   ` check to ignore code
   within unevaluated contexts, such as ``decltype``.
@@ -286

[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-17 Thread Mike Weller via cfe-commits

MikeWeller wrote:

FYI I don't have merge privs, not sure if I need to ping anybody. Then again I 
still see "This workflow requires approval from a maintainer", possibly because 
this is my first contribution?

https://github.com/llvm/llvm-project/pull/88138
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-17 Thread Mike Weller via cfe-commits


@@ -286,6 +286,10 @@ Changes in existing checks
   check by resolving fix-it overlaps in template code by disregarding implicit
   instances.
 
+- Improved :doc:`bugprone-forwarding-reference-overload
+  `
+  check to not flag deleted constructors which are unable to hide anything.

MikeWeller wrote:

Done in bab66e1, let me know if you have a better suggestion

https://github.com/llvm/llvm-project/pull/88138
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (PR #88138)

2024-04-17 Thread Mike Weller via cfe-commits

https://github.com/MikeWeller updated 
https://github.com/llvm/llvm-project/pull/88138

>From 483bd05ec3c0575ed6771ef093368d6be19f5d3f Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Tue, 9 Apr 2024 16:03:31 +0100
Subject: [PATCH 1/5] [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

Fix `bugprone-forwarding-reference-overload` so it doesn't report a constructor 
that is deleted.
---
 .../bugprone/ForwardingReferenceOverloadCheck.cpp  |  1 +
 clang-tools-extra/docs/ReleaseNotes.rst|  1 +
 .../bugprone/forwarding-reference-overload.cpp | 10 ++
 3 files changed, 12 insertions(+)

diff --git 
a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp 
b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
index c608fe713f9f5b..e42b40d7b6690e 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
@@ -73,6 +73,7 @@ void 
ForwardingReferenceOverloadCheck::registerMatchers(MatchFinder *Finder) {
   DeclarationMatcher FindOverload =
   cxxConstructorDecl(
   hasParameter(0, ForwardingRefParm),
+  unless(isDeleted()),
   unless(hasAnyParameter(
   // No warning: enable_if as constructor parameter.
   parmVarDecl(hasType(isEnableIf(),
diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index 1405fb0df1f8dd..4e4dd35242478f 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -102,6 +102,7 @@ Improvements to clang-tidy
   similar fashion to what `-header-filter` does for header files.
 - Improved :program:`check_clang_tidy.py` script. Added argument 
`-export-fixes`
   to aid in clang-tidy and test development.
+- Fixed an issue with `bugprone-forwarding-reference-overload` where it would 
incorrectly flag deleted constructors
 
 New checks
 ^^
diff --git 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
index 38b0691bc9f1ec..92dfb718bb51b7 100644
--- 
a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
+++ 
b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
@@ -251,3 +251,13 @@ class Test10 {
   Test10(T &&Item, E e)
   : e(e){}
 };
+
+// A deleted ctor cannot hide anything
+class Test11 {
+public:
+  template 
+  Test11(T&&) = delete;
+
+  Test11(const Test11 &) = default;
+  Test11(Test11 &&) = default;
+};

>From 49eccb42605236abb56cef2950a6d1a4273b45cb Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Mon, 15 Apr 2024 13:55:54 +0100
Subject: [PATCH 2/5] fixup! [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

---
 clang-tools-extra/docs/ReleaseNotes.rst | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index 4e4dd35242478f..b3d710535f625a 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -102,7 +102,6 @@ Improvements to clang-tidy
   similar fashion to what `-header-filter` does for header files.
 - Improved :program:`check_clang_tidy.py` script. Added argument 
`-export-fixes`
   to aid in clang-tidy and test development.
-- Fixed an issue with `bugprone-forwarding-reference-overload` where it would 
incorrectly flag deleted constructors
 
 New checks
 ^^
@@ -287,6 +286,10 @@ Changes in existing checks
   check by resolving fix-it overlaps in template code by disregarding implicit
   instances.
 
+- Improved :doc:`bugprone-forwarding-reference-overload
+  `
+  check to not flag deleted constructors which are unable to hide anything.
+
 Removed checks
 ^^
 

>From fd545ed87cab79e33dbc7de42a1d136114615fe4 Mon Sep 17 00:00:00 2001
From: Mike Weller 
Date: Mon, 15 Apr 2024 15:13:18 +0100
Subject: [PATCH 3/5] fixup! [clang-tidy] Ignore delete ctor in
 `bugprone-forwarding-reference-overload`

---
 clang-tools-extra/docs/ReleaseNotes.rst | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/clang-tools-extra/docs/ReleaseNotes.rst 
b/clang-tools-extra/docs/ReleaseNotes.rst
index b3d710535f625a..c504335676ac46 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -147,6 +147,10 @@ Changes in existing checks
   ` check by detecting side
   effect from calling a method with non-const reference parameters.
 
+- Improved :doc:`bugprone-forwarding-reference-overload
+  `
+  check to not flag deleted constructors which are unable to hide anything.
+
 - Improved :doc:`bugprone-inc-dec-in-conditions
   ` check to ignore code
   within unevaluated contexts, such as ``decltype``.
@@ -286

[clang-tools-extra] [include-cleaner] don't consider the associated header unused (PR #67228)

2024-05-22 Thread Mike Weller via cfe-commits

MikeWeller wrote:

Is it @sam-mccall who needs to address remaining comments? Or how can we move 
this along? I'd also be keen on getting this change merged.

https://github.com/llvm/llvm-project/pull/67228
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits