<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/81121>81121</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy] google-explicit-constructor check with already specified `explicit(false)`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-tidy
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          schaumb
      </td>
    </tr>
</table>

<pre>
    Explicit constructor check fix is wrong when already specified `explicit(false)` on that constructor

```cpp
struct A {};

struct B {
 explicit(false) B(A) {}
};
```

The [checker](https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp) tries to fix it with adding a new `explicit` keyword which makes compilation error.

```cpp
struct A {};

struct B {
  explicit(false) explicit B(A) {}
};
```

No warning/error should exist when specifying the `explicit(false)` attribute.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysk8GOozgQhp-muJSCjAkBDhySznLc076AbSrY2w5GthmStx8BiTqt6ZFmRiNFAZXNb1f93y9CMP1A1EBxguKciClq55ugtJiuMpGuuzf_3EZrlImo3BCin1R0HpUm9Y4Xc0MTcPZu6HHWNKCwnkR3xzCSMhdDHcKB0UMBeHURNhDwGg4M3YBRi0-6wM7Ajo__A9t-ahy3yrYLjwjlCcoz5KfX_Y_V07q6VvCLg_EEvDouLw-RTeFV7Xnuq_h_mhCK09o2eSjOwCsd4xggPwJvgbe9iXqSqXJX4K21356P3ejd_6Qi8FZaJ4G3V2EG4K2yYuh30TkbdnSLXnzUTHdfFJ3rLQFvnw68fQzqbblIukyG1xi9oYDRbX5EnE3UKLrODD0KHGj-ZMKB4TvdZ-c7nLVRGq_inQIqdx2NFdG4Acl759O_bMaXbjxrf2jLvw5n4Qcz9MDb9dYYtJtsh3QzIW5Mbizel2nExcafAili9EZOkdKka_KuzmuRUJOVrMyr6lBWiW4YqYzvRZbXlMlsX14KycqSlwVjVX7hVWIazviecVZlLC-LKq2llFnBJFcZHaq6gD2jqzA2XeBIne8TE8JETZVlPEuskGTDGkfOX2ngSzx9sxIlpz7AnlkTYviQiSbaNcgvnxVn3CjaPVve_ZjiDZdfD24yedv8NvxrlwF4uzb6PQAA__9NhmTS">