Open
Description
Bug report
In #133966 (comment) we added a Python.h
-wide suppression for MSVC warning 5274 “Application of _Alignas on a structured type in C”.
I think it should be instead applied locally, after a bit of thought.
AFAICS, 5274 warns that structs compiled with MSVC versions older than 17.9 might end up with a different layout (ABI) than ones compiled with 17.9+. That can cause trouble for extensions.
In PyASCIIObject
, _Py_ALIGN_AS
is applied to an anonymous struct. I think we can assume that no one is pulling state
's type out with something like typeof(my_PyASCIIObject.state)
– and if they do, getting an 4B-aligned struct is very unlikely to cause trouble in practice.
But, that is the kind of analysis one should do when a 5274 warning pops up.