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 df21f502fd)

Co-authored-by: Joshua Root <jmr@macports.org>
This commit is contained in:
Miss Islington (bot) 2021-01-04 03:00:43 -08:00 committed by GitHub
parent 76489dd299
commit eedeaef1f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View File

@ -0,0 +1 @@
Fix __builtin_available check on older compilers. Patch by Joshua Root.

View File

@ -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, *)