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

    <tr>
        <th>Summary</th>
        <td>
            [clang-format]: token annotator confuses inline asm colon as ObjCMethodExpr or DictLiteral
        </td>
    </tr>

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

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

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

<pre>
    The token annotator labels colons in inline asm incorrectly.

```
$ echo " asm ( a : );" | clang-format -debug
...
 M=0 C=1 T=ObjCMethodExpr S=0 F=0 B=0 BK=0 P=43 Name=colon L=6 PPK=2 FakeLParens= FakeRParens=0 II=0x0 Text=':'
...
$ echo " asm { a : };" | clang-format -debug
...
 M=0 C=0 T=DictLiteral S=1 F=1 B=0 BK=0 P=43 Name=colon L=8 PPK=2 FakeLParens= FakeRParens=0 II=0x0 Text=':'
```

A side-effect is that files with inline assembly using parentheses are identified as ObjC source files.


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysk1FvozgQxz_N8DJKZOwQ4IGHpBxSde1ddNcvYGAAt8aObLPbfvsVTnabdl9Wq5WiGU1gBv88_7_0Xo2GqILsCFmdyCVM1lUj9dJR0tr-rXqaCIN9IYPSGBtksA61bEl77Ky2xqMyqIxWhlD6GZXprHPUBf22BVYDO1zjnl1_l5LvkLrJInAe-4AXKBHEAYGXII7r_5DfYaelGTeDdbMMuOmpXcbLhO32Oh8fQdQM70DUKT6BqP9tn-8eKUy2_-v17PD_-LiJ8XiJf8d0AlHvBP4jZwJRRxp8AFHv8XRa3-DYyBd6OElHxoOoY_nfj5Lh_f2aXhk-0WsAUQPPQRzW-PGEP8Pmx--wef27sCzC1qoLDyqQkzqSppE0_TXS4g-Rfl5ujAf0qqcNDQN1AZXHMMmAg9Lk8asK07tqPM2tfsPFKzPief1qmMiTR-kIVU8mqEFRj9Ljulv0dnEdXUZ9EFnSV6IvRSkTqtI8zcoiL4oymSo2ZD1nnLdMULtv87boU1HkRdnvdlQIkaiKM75jWZpzkRas3HKR5ZmgoeuFFHJgsGM0S6W3Wn-Zt9aNifJ-oark-3SfXBwRbcT57RaB89VYrlrbNu0yetgxrXzw74OCCjpa8ENjVq_6-Gy9zpphWa_mxnKXfV4v50b41uGNOpLF6WoK4ezj5hrgzajCtLTbzs7Am_U417Q5O_tMXQDeREgPvImc3wIAAP__Wms-uA">