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

    <tr>
        <th>Summary</th>
        <td>
            Clang accepts invalid identifiers in [[gnu::abi_tag]]
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang,
            accepts-invalid
      </td>
    </tr>

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

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

<pre>
    Currently clang accepts code like `[[gnu::abi_tag("123")]] void func() {}`. The problem is that this will produce a mangled function name that cannot be demangled. In this case `_Z4funcB3123v`. GCC correctly rejects this: https://godbolt.org/z/vGjKMrEv4.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0kcuOnDwQhZ-m2JQGQQENXrCY7v4Z_YqyyyqbkS_V4Bm33bJNR5Onj2BaihIpK1BdTvmcT6ZkZ888QneE7lzINS8hjrfFOm_f-74vVDAf42mNkX12H6id9DNKrfmWE-pgGJ19Z4RDtUscZ79C8wzNs1T2NcsZaACimhogAhLQnaE74z1Yg5fV670tEPoj9Gc4VCV-WxhvMSjHV7QJ8yIz5sUm_GGd2zpm1YwSr9LPjj9Vsg0evbzy57iW3oeMitHwY6zE__2njJZpf-7r93ZbPTY1Nff98svphDrEyHpzGvmNdU77EjTPuOR8236AJqBpDkYFl8sQZ6DpJ9B0f3n78jX-d2_LwoyNEY2QBY91XwlqSAyiWMZhEDRU4nIhofqO2k4zX7jrqTK9auu-sCNV1FZEoh66A_Vly02vBlXXUkhjGgltxVdpXenc_bodL2xKK49D0x6ocFKxSztLop3UHvoJiB7Enqy_S2fNVu_ORRw3nSe1zgnaytmU02_lbLPj8fQH8Mc6WsM-24vluNXwH-h31sUa3fhXeDYvqyp1uAJN273H5-kWwxY60LTbSkDT7uxXAAAA__8bcNdX">