Version:
```
Debian clang version 18.1.6 (++20240518023133+1118c2e05e67-1~exp1~20240518143227.130)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
```

CMakeLists.txt
```
cmake_minimum_required(VERSION 3.10)

project(test CXX)

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

add_executable(test test.cpp)
```

test.cpp
```
#include <cstdlib>

int main(int argc, char** argv)
{
  char** p = nullptr;
  free(p);

  free((void*) p);

  free(static_cast<void*>(p));
}
```

Recipe:
```
cmake -B build -S .
run-clang-tidy-18 -p build -checks="-*,bugprone-multi-level-implicit-pointer-conversion"
```

Output:
```
Enabled checks:
    bugprone-multi-level-implicit-pointer-conversion

clang-tidy-18 -checks=-*,bugprone-multi-level-implicit-pointer-conversion -p=build /home/firma/devel/test/test.cpp
/home/firma/devel/test/test.cpp:6:8: warning: multilevel pointer conversion from 'char **' to 'void *', please use explicit cast [bugprone-multi-level-implicit-pointer-conversion]
    6 |   free(p);
      |        ^
/home/firma/devel/test/test.cpp:8:16: warning: multilevel pointer conversion from 'char **' to 'void *', please use explicit cast [bugprone-multi-level-implicit-pointer-conversion]
    8 |   free((void*) p);
      |                ^
/home/firma/devel/test/test.cpp:10:27: warning: multilevel pointer conversion from 'char **' to 'void *', please use explicit cast [bugprone-multi-level-implicit-pointer-conversion]
   10 |   free(static_cast<void*>(p));
      |                           ^
3 warnings generated.
```

I don't understand why I get the warning here, in addition the suggested ways to "improve" the code using a cast don't work.
clang-tidy: bugprone-multi-level-implicit-pointer-conversion it too noisy for void* conversions
This is a GitHub Issue
repo:llvm-project
owner:llvm
Title : clang-tidy: bugprone-multi-level-implicit-pointer-conversion it too noisy for void* conversions
Issue date:

--- start body ---
Version:
```
Debian clang version 18.1.6 (++20240518023133+1118c2e05e67-1~exp1~20240518143227.130)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
```

CMakeLists.txt
```
cmake_minimum_required(VERSION 3.10)

project(test CXX)

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

add_executable(test test.cpp)
```

test.cpp
```
#include <cstdlib>

int main(int argc, char** argv)
{
  char** p = nullptr;
  free(p);

  free((void*) p);

  free(static_cast<void*>(p));
}
```

Recipe:
```
cmake -B build -S .
run-clang-tidy-18 -p build -checks="-*,bugprone-multi-level-implicit-pointer-conversion"
```

Output:
```
Enabled checks:
    bugprone-multi-level-implicit-pointer-conversion

clang-tidy-18 -checks=-*,bugprone-multi-level-implicit-pointer-conversion -p=build /home/firma/devel/test/test.cpp
/home/firma/devel/test/test.cpp:6:8: warning: multilevel pointer conversion from 'char **' to 'void *', please use explicit cast [bugprone-multi-level-implicit-pointer-conversion]
    6 |   free(p);
      |        ^
/home/firma/devel/test/test.cpp:8:16: warning: multilevel pointer conversion from 'char **' to 'void *', please use explicit cast [bugprone-multi-level-implicit-pointer-conversion]
    8 |   free((void*) p);
      |                ^
/home/firma/devel/test/test.cpp:10:27: warning: multilevel pointer conversion from 'char **' to 'void *', please use explicit cast [bugprone-multi-level-implicit-pointer-conversion]
   10 |   free(static_cast<void*>(p));
      |                           ^
3 warnings generated.
```

I don't understand why I get the warning here, in addition the suggested ways to "improve" the code using a cast don't work.
--- end body ---
