You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
configure:6892: checking for the platform triplet based on compiler characteristics
configure:6900: result: none
which of course leads to all kinds of problems later in the build. The problem is that platform_triplet.c uses TARGET_OS_IOS, TARGET_OS_SIMULATOR and TARGET_OS_OSX without checking if they are defined. While this is valid according to the C standard with undefined macros evaluating to 0, it's a problem for two reasons: Older macOS SDKs don't define these, and the code assumes that TARGET_OS_OSX being false means it's not building for macOS, and secondly some clang versions will error if you use any macro starting with TARGET_OS_ without checking if it is defined.
We got a downstream report from a user on 10.11. AFAIK the very latest clang versions default to -Werror,-Wundef-prefix=TARGET_OS_ and it started doing that in version 11 or earlier.
Bug report
Bug description:
The symptom is:
which of course leads to all kinds of problems later in the build. The problem is that
platform_triplet.c
usesTARGET_OS_IOS
,TARGET_OS_SIMULATOR
andTARGET_OS_OSX
without checking if they are defined. While this is valid according to the C standard with undefined macros evaluating to 0, it's a problem for two reasons: Older macOS SDKs don't define these, and the code assumes thatTARGET_OS_OSX
being false means it's not building for macOS, and secondly some clang versions will error if you use any macro starting withTARGET_OS_
without checking if it is defined.CPython versions tested on:
3.13
Operating systems tested on:
macOS
Linked PRs
The text was updated successfully, but these errors were encountered: