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

    <tr>
        <th>Summary</th>
        <td>
            [clang-format] Incorrect formatting of MSVC interface keyword after clang-format v17.0.1
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          arthuraraujo-msft
      </td>
    </tr>
</table>

<pre>
    .clang-format:
```
Language: Cpp
PointerAlignment: Left
```
`
Formatting with v16.0.6:
```
interface MyInterface {
  virtual HRESULT Func(_In_ MyType* var) = 0;
};
```

Formatting with v17.0.1 (and with latest v18.1.8):
```
interface MyInterface { virtual HRESULT Func(_In_ MyType * var) = 0; };
```

Seems v17.0.1 stopped treating the MSVC keyword "interface" like the C++ keyword "class" as it used to. I haven't found a setting to specify which words should be treated as keywords either.
Switching "interface" to "class" returns the formatting to the expected format:

Formatting with v18.1.8:
```
class MyInterface {
  virtual HRESULT Func(_In_ MyType* var) = 0;
};
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VE9vozoQ_zTmMgoyJgFy4JA0L3qRWunptbvXysAY3DoY2UOy-fYrIE3aqtHuXlaKFGM8vz_-DSO913WLmLPFmi02geypsS6XjpreSSf7Fzvbe0VBYatTHpZGtvVMWbeXxOIV4xvGVyzh59_4eC_bupc1sngFd103bf5ndUvoVkbX7R7boRjuUdGXCJfFdiQi3dZw1NTAIUpCHia3mEcKJUuEh9PusmbpenoNcNCOemng3___efx2_wTbvi2ZyJ537TM8nJ5OHTKxgoN0TCyBxRvgLD4Xs3RzXX-Se0NrGvIwAiYy2VbTnpGEnuAQZWEUZkws_9jJb1iALzzAL-U_Iu79RbQn23VYATmUoyVqEB4ev9_BK56O1lXAhLiIZEKA0a84nrpjYs3E-v3B0kjvh0PSgybo_YBsQ9hBIw_YMpESKNu3FUjwON0hWfAdllqd4NjosoEBzINvbG8qKHCShtWAeabygJoadOHZ0VFT2QxYn7WS_aDKIfWu9aN6dU2R7LiDPzosB6LPXX8j9SnaG7mOnH-rO4Mqj6tlvJQB5lEq5tmCL9MkaPIkjecq40mUpaWIVDXnaSqKQnERZbKIVaBzwcWcZyKL4iiJklCpMkv4sqrSKsvkomBzjnupTWjMYR9aVwfa-x7ziCdxlgRGFmj8OFPGe77ODCGGKePyoW5W9LVnc260J39FIk1mnEcfChcb2LWldQ5Lep-SVVNfXr-Yt8aTitDBe5C39g56Z_KGqPNDTmLLxLbW1PRFWNo9E9tByvlv1jn7giUxsR0deia2Z5OHXPwMAAD___aflnk">