From eedeaef1f22d27264ce9b031da80fe2485e85e69 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 4 Jan 2021 03:00:43 -0800 Subject: [PATCH] bpo-42692: fix __builtin_available check on older compilers (GH-23873) (GH-24090) A compiler that doesn't define `__has_builtin` will error out when it is used on the same line as the check for it. Automerge-Triggered-By: GH:ronaldoussoren (cherry picked from commit df21f502fdccec234282bf0a211af979fd23def4) Co-authored-by: Joshua Root --- .../next/Build/2021-01-04-05-07-30.bpo-42692.OO11SN.rst | 1 + Modules/posixmodule.c | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Build/2021-01-04-05-07-30.bpo-42692.OO11SN.rst diff --git a/Misc/NEWS.d/next/Build/2021-01-04-05-07-30.bpo-42692.OO11SN.rst b/Misc/NEWS.d/next/Build/2021-01-04-05-07-30.bpo-42692.OO11SN.rst new file mode 100644 index 00000000000000..91582b945b803f --- /dev/null +++ b/Misc/NEWS.d/next/Build/2021-01-04-05-07-30.bpo-42692.OO11SN.rst @@ -0,0 +1 @@ +Fix __builtin_available check on older compilers. Patch by Joshua Root. diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index d2ce8339e61f06..5e33502721c192 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -56,7 +56,13 @@ */ #if defined(__APPLE__) -#if defined(__has_builtin) && __has_builtin(__builtin_available) +#if defined(__has_builtin) +#if __has_builtin(__builtin_available) +#define HAVE_BUILTIN_AVAILABLE 1 +#endif +#endif + +#ifdef HAVE_BUILTIN_AVAILABLE # define HAVE_FSTATAT_RUNTIME __builtin_available(macOS 10.10, iOS 8.0, *) # define HAVE_FACCESSAT_RUNTIME __builtin_available(macOS 10.10, iOS 8.0, *) # define HAVE_FCHMODAT_RUNTIME __builtin_available(macOS 10.10, iOS 8.0, *)