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

    <tr>
        <th>Summary</th>
        <td>
            Clang-tidy invalid suggestion: bugprone-macro-parentheses
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          joker-eph
      </td>
    </tr>
</table>

<pre>
    With clang-tidy built at current head and applying it on MLIR:

```
$ clang-tidy -p build mlir/lib/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.cpp --checks=-*,bugprone-macro-parentheses -fix -fix-errors
```


````
diff --git a/mlir/lib/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.cpp b/mlir/lib/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.cpp
index 3bb7082daa5a..157b5d7d266f 100644
--- a/mlir/lib/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.cpp
+++ b/mlir/lib/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.cpp
@@ -93,7 +93,7 @@ struct GpuLaunchOpInterface
 void mlir::gpu::registerValueBoundsOpInterfaceExternalModels(
 DialectRegistry &registry) {
   registry.addExtension(+[](MLIRContext *ctx, GPUDialect *dialect) {
-#define REGISTER(X) X::attachInterface<GpuIdOpInterface<X>>(*ctx);
+#define REGISTER(X) X::attachInterface<GpuIdOpInterface<(X)>>(*ctx);
 REGISTER(ClusterDimOp)
     REGISTER(ClusterDimBlocksOp)
 REGISTER(ClusterIdOp)
```

The use of parentheses around the template parameter is not legal.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVE-P27gP_TTMhVCgyH9z8MHJTIIALVrk1_52rrJF2-ootiHJQebbL-QkO8Fse9oBCFuQqMdHUo_SOd32RAUkG0ieFnLy3WCLX8MrWUZjt6gG9Vb8pX2HtZF9y7xWb1hN2niUHuvJWuo9diQVyl6hHEfzpvsWtcehx69fDkeISuCzpfxmvAQRPwKyccZUeDLagtgZXYHYPWlpqPYgdvvvP0HsDkcQu_9LM9FmmHrlvo2H3pNtZE2H02iW9TgiY3VH9auD6ImBKEFsq6kd7dATO8naDmyUgXFHjhyyRl_mDyNrB-s-kvxAe95UummQsVZ7lCB2_5lw9QkgwEvdK7pgVFUZz4WSMpHL5SrJqkRlSqRpgyvO0zgGXjLGPoX53MXN1T4rC4g5xBzZOgKxzRDE5r66Hjhvp9rjfpy-yKmvuwcU4CWeB317QlEJUdmO03VhqdXOk_19_OeLJ9tL83VQZByIPEDd-B_nm_YNQaT2tgaxRsg2wQvxvrmUSgWg3umhDxhic5UUiDyoYDv0ni4eQZS1v4DY4v77z1uQsKnu9bpjMxCRokb3hMfn_eF_P56PIPKX4PByzUp6L-vuvQDRdj9OB_VYk2j7AtFzsMDoGnkN0ebeu8-IcLvzpziP2FszhTY86dO3MTjMFcTfe2zMUL-6f_z-7RN4XA8_aPZHRzg5wqHBR7FLGxqPviP0dBqN9BTO5Yk8WdQO-8GjoVaa5UIVkVpHa7mgYpUlSZbHIhGLrkjSql5laZNnFc8qiuM0bTKerxKZ8Fyuk4UuBBcJz8VqFSU8EcsmjVS2rqlaZ3lcrWKIOZ2kNktjzqflYNuFdm6iYpXEWZoujKzIuHkaC_E-IEGIMJ1tEW6xamodxNxo5907jtfeULF9H6q6P0ujFbqpbcn58C6jEv88DheTNUXn_ehC98UOxK7VvpuqZT2cgrDN-f5jox1-XeU903cgdrcMzoX4OwAA__8lzfwh">