<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/125916>125916</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Bogus alignment mismatch diagnostic
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
PJBoy
</td>
</tr>
</table>
<pre>
Testcase ( https://godbolt.org/z/o1b83cEbG )
```
#include <cstdint>
using UnalignedType [[gnu::aligned(1)]] = struct
{
uint32_t x;
};
alignas(4) UnalignedType alignedVariable{};
void f(UnalignedType)
{}
static_assert(alignof(UnalignedType) == 1);
static_assert(alignof(alignedVariable) == 4);
int main()
{
f(alignedVariable);
}
```
The diagnostic reported is
> passing 1-byte aligned argument to 4-byte aligned parameter `'this'` of `'UnalignedType'` may result in an unaligned pointer access `[-Walign-mismatch]`
> ` 18 | f(alignedVariable);`
> ` | ^`
However, the argument `alignedVariable` is 4-byte aligned, and I would expect `UnalignedType` to be a one-byte aligned parameter; the reported alignments seem to be reversed
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8VE2PozgQ_TXFpZSWKUOAAwfSSfbjtIfe3ePI4GriFdgRNt2T_fUr02wyjWZGihSLV-_Vq2erlPemt8w15AfIj4maw8VN9R-_H9wtaZ2-1S_sQ6c8I1CJlxCuHmQDdAY69063bghPbuqBzv8CnV3alrI7tb8gUAWigb1Yf6IBksZ2w6wZQT53PmhjA8hThEQze2N7_NOqIfrRL7cr4-Lp0Ns5dpTNCgGVaVTPj5AfEeQRfZjmLkSd4gCiQUScjQ2SvgT8CvKwIMf1ID50lAcqM6Bq03M9_6Umo9qBo-I31DdnNL4ClZ9I66wfpUudDyqY7ovynqcAVC7F7nvEOECcYRlpafNj7tbbg53d2SAaYwOOylig8uFMNPh9iUc-m-sSzcuFURvVW-eD6XDiq5sCazQ-4vKE1_h8bI_prr2Fe3aopn4e2QYMDrPP0FVNauTAE8YuVISL8UAF7AW61_XbJqIFHNUNJ_bzENBYVBZne5d0xkZB1XXs_aKRH3Z_L_BuNH5UobvE1_IxljzFEkRMS4Ti-SepbOoRl_r1lJ_uMf3q3vmNJ6BnDBd-TA97sRXeCzR-k0nkKavxN3x386CRv165W9ifg9iLmGfLqNBZ_kGsIA-LiftdLRXRjkfPPK4SUzTsWSe6lrqSlUq4TgtZFmVGxT651EXJukwVUddmmso8rbKClBZS5K9MkhNTk6BckMjTShb5_inPmJSoKNdFK9JKQyZ4VGZ4Goa3Ma6IxHg_c51SXqX7ZFAtD35ZO0SW33FBgShuoamOpF079x4yMRgf_EMmmDBwfXD97B_T4f8X_c2DTeZpqDcby4TL3D51bgQ6R8X1b3ed3D_cBaDz4sMDnVejbzX9FwAA__9cQZaA">