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

    <tr>
        <th>Summary</th>
        <td>
            [clang-format] A space delimiter between a pointer return type and a function name gets bitten off (17.06)
        </td>
    </tr>

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

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

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

<pre>
    Hello. Started using `clang-format` version `17.06` and noticed several strange issues. Here is one of them:

I use "right" pointer placement for my style, as the asterisk symbol refers to a variable being declared rather than to a type. But then I would like to have a space between the asterisk symbol and a function name for functions returning a pointer. Semantically, it is the return type that is a pointer — not a function. So I believe the space delimiter there would help readability.
Unfortunately, I can't seem to find an option that would allow me to keep a space character between an asterisk symbol and a function name.

My config:
```
---
Language: Cpp
BasedOnStyle: Google
BreakBeforeBraces: Allman
DerivePointerAlignment: false
PointerAlignment: Right
SpaceAroundPointerQualifiers: Before
...
```

The source code:
```
const char * MODULE_ShowStringLiterals(void)
{
  const char *str = "MyString";
  return str;
}
```
The formatted output:
```
const char *MODULE_ShowStringLiterals(void)
{
  const char *str = "MyString";
  return str;
}
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVUGPozgT_TXOpRREDAnJgUMymXzTUrfm283OeVXgArxtbGQXaeXfrwzpTLc2K81xpYiAXTy_91w8Ywi6tUSlWB_E-rjAkTvnS0We0ftF5dS1_EbGuATOjJ5JwRi0bUFs0tqgbZeN8z2y2KRwIR-0s3FqVSTpJo6hVWAd65oUBLqQRwOBPdqWQIcwUkjgG_n4AM4SuAa4o15ke5EeRXq7PsEYCISUXrcdCylhcNoyeRgM1tSTZWich_4Kga-GhPwCGCISYGDyOrxCuPaVM-CpIR-AHSBc0GusDEFFUZKi2qAnBR65Iw_coZ0L-TpQAoeRI6SFJ3hzo1Fg9CvFgg4vBAhhwDpi8RuRfbh4dAOhGW3N0SiLPU2830cCeOLR28gG3zUmcKYeLesajblGaZqjXXGBuXziF-lO4_cXQXyVYpuKXR634MPCCZwdPEFFRtOFJqCZuyKje82T9rgps8yOzACeUGGljeZrMm_KD9s4z6NFppnWE9RohSwYAlEfjWl0FGzBDZPeieGMica4N-gn-16Jhrt9dYce60jh3Ui0v-Jj8rFfXq5QO9vo9mcfbdLbb3pcLpfzzTPadsSWRLaHL8MwDx4wkPpuz1MrZXv4n3OtoducJ3w9UOM8HTzWFGLB3pge7VxwJK8v9P95C_ZGtza2Z6xq0IQbyqPp36fenqbP0Yq9d6NVt8rfRjS60eSn9eb159okSR5KnK9_xL11o4_OOkX_5kftbODJexByDy_fjz-ev_557tzbmb227XNsCjRByO3FaSXk7gZTHOYbgM8QgT2I7Bi_2ZfrjCGkFNm9_Na5gf19UBTHh-SihjllYvy4kYeRf03If0vHQpWZ2mU7XFC5KtK8kHm2ShddqSTWeVGk2zzDvMCNrFd1luZUq90OVa4WupSpzNNVul3l2WqdJnmeZapabTYbqRpVoMhT6lGbxJhLnzjfLqZwLYsiW60XBisyYYp4KT-ltpQx9H0ZX1tWYxtEnhodOPwEYs1mOh4-vbg-wv4foXH_Yu8J9DGfHoVfSxyg0sxkwTUNCLmdjw65W4zelB3zEDteyJOQp1ZzN1ZJ7XohT5Hg7W85ePcX1SzkaT5ThDxNyv8OAAD__-yINFk">