Skip to content

MSVC 5274 warning suppression for _Py_ALIGN_AS should be local #135183

Description

@encukou

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.

Linked PRs

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

buildThe build process and cross-buildinterpreter-core(Objects, Python, Grammar, and Parser dirs)topic-C-APItype-bugAn unexpected behavior, bug, or error

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions