MSVC 5274 warning suppression for _Py_ALIGN_AS should be local #135183
Labels
build
The build process and cross-build
interpreter-core
(Objects, Python, Grammar, and Parser dirs)
topic-C-API
type-bug
An unexpected behavior, bug, or error
Uh oh!
There was an error while loading. Please reload this page.
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 pullingstate
's type out with something liketypeof(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.
Linked PRs
The text was updated successfully, but these errors were encountered: