<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/91062>91062</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang format pointer alignment does not work when the type is defined via a macro
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ilan-schemoul
</td>
</tr>
</table>
<pre>
Formatting with the setting "PointerAlignmentStyle: right" gives an unxpected output when formatting a code where the type is defined thorugh a macro
```c
struct e_t {
int a;
};
typedef struct e_t e_t;
#define q(e) e_t
int a(e_t *argc, q(e) * argv[]) { printf("%s", argv[1] + 1); }
```
Note that we have "q(e) * argv[]" instead of "q(e) *argv[]"
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0UlGPm0wM_DXmxbpoMRDggYfkojx--qT-gNMCBraFXbprkt6_r4CLcle1EmKxGWbGZnQIprfMFWRnyC6RXmRwvjKjti-hGXhyyxjVrn2vrs5PWsTYHu9GBpSBMfDeAKL_nbHC_jSa3k5s5Zu8jwzJCb3pBwEi7M2NA2qLi_01cyPcoltkXgTvA1vsnvwaG9fy2va86cj7zGgCttwZyy2uHpd-QI2TbrwDdQF1gqPar2avg_ilEeQ3QcjPew_RWEENyUcN-eX5vN1XqZY7_PQ1v8kTRMluAn8CFQxUbq8_EewCVGy6dNK-b4Ben3CgE2rf3_aFb538jLM3VjqgAoiAsrAdrw9gDNkFgc4YA5WQnHH1_XXovfzPyboxLXhnHPSN11_zT2lCY4OwbtF1fwK_4HbyqK2StkxKHXEV53FaJCotj9FQ5Y2ipEgU0bFIqS5Vx2V2rHXZcNLoro5MRYpSlak0TtIiPh7KNs-SOs9JF2WuMgWp4kmb8TCOt-ngfB-ZEBauylgdKRp1zWPYIkrUjNr2q6fsEvlqxb_USx8gVaMJEp4MYmTk6nWFf4QL5z2kqB8pxdZxQOsE787_2IP4t8DdjH6ELVr8WA0ic4DkBHQFuvZGhqU-NG4Cuq76H8fL7N13bgTouo0TgK7bRL8DAAD__8cFDh0">