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

    <tr>
        <th>Summary</th>
        <td>
            Clang fails to warn -Wunused-private-field
        </td>
    </tr>

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

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

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

<pre>
    clang version: 19.1
os: ubuntu 22.04

```c++
class A
{
public:
   A() : m_x(0)
   {
   }
private:
   const int m_x;
};

#ifdef BUG
class C
{
    friend auto operator==(C, C) -> bool = default;
};
#endif

int main()
{
   [[maybe_unused]] auto c = A();
}
```

clang++ -std=c++20 -Wall main.cpp

```
main.cpp:8:14: warning: private field 'm_x' is not used [-Wunused-private-field]
    8 |    const int m_x;
 |              ^
1 warning generated.
```

clang++ -DBUG -std=c++20 -Wall main.cpp

no warnings
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUlE2P2ywQxz_N-DKyZQ9-SQ4-JPFm74-0zx5XgElCRSAyOO1--wrbyWbbrdRGiMAwzPxnfsLce320SrVQbaHqEj6Gkxva_3Vww3_87HwiXP_eSsPtEa9q8NpZYBss1lkBeQf5xvm4H8Vow4hEWV7O9mWu83lIoG0ck1Ua7j3eXJrFehmF0RLYYkfEDdAKaI0xw_ntB9AqB1rfj-83p3W3RBn0lQf1GEY66wNqG6YgbHvL232s55mYPvTqgNuX50ehu1-EIiIeBq1sj3wMDt1FDTy4AVgXB612QDvcReUpsCcUzhkE1mGvDnw04WsJxJTt9eFR0CSZazu34XcVE7Ttmb8L9Tba0aseqg6qbpYlp5xLDz_l_IzmMeMEekaFqQ89sG4hRzmmr9yYSVAmL5cvMc_buwvbrIBtijIC_M4Hq-0xLhdGeNDK9AjUTHAb1B6tCxgLibWlr3NR6eKfTv6xxDuGFUKzwz8yvp1-_KB6mo-KmyA8Khv5qT7728Z025fnf2mPdbdkPulb1q_ZmieqLRpW1EVeV3lyaiUjLnklmRRV2YhKMKZEXfOelQ3rRZ3olnIqi6Ioi1XVsDyrucxVUYsVlUwQNVDm6sy1yYy5njM3HBPt_ajaoqipyRPDhTJ-euhESzkU3_zQxgupGI8eytxoH_xHiKCDUe1uev8Hro3HMBeDX9NJxsG0pxAu8bMAtAfaH3U4jSKT7gy0j4GXv_QyuG9KBqD9JNQD7Ret15Z-BgAA___-C0aE">