summaryrefslogtreecommitdiffstats
path: root/tools/clang-tidy/test/bugprone-bool-pointer-implicit-conversion.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tools/clang-tidy/test/bugprone-bool-pointer-implicit-conversion.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/clang-tidy/test/bugprone-bool-pointer-implicit-conversion.cpp b/tools/clang-tidy/test/bugprone-bool-pointer-implicit-conversion.cpp
new file mode 100644
index 0000000000..602fa9a578
--- /dev/null
+++ b/tools/clang-tidy/test/bugprone-bool-pointer-implicit-conversion.cpp
@@ -0,0 +1,20 @@
+// https://clang.llvm.org/extra/clang-tidy/checks/bugprone-bool-pointer-implicit-conversion.html
+
+bool test(bool* pointer_to_bool, int* pointer_to_int)
+{
+ if (pointer_to_bool) { // warning for pointer to bool
+ }
+
+ if (pointer_to_int) { // no warning for pointer to int
+ }
+
+ if (!pointer_to_bool) { // no warning, but why not??
+ }
+
+ if (pointer_to_bool != nullptr) { // no warning for nullptr comparison
+ }
+
+ // no warning on return, but why not??
+ // clang-tidy bug: https://bugs.llvm.org/show_bug.cgi?id=38060
+ return pointer_to_bool;
+}