<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">