From 95f197f998f7601b1c9d0c25dc8603413db689ab Mon Sep 17 00:00:00 2001 From: Hans Boehm <hboehm@google.com> Date: Wed, 12 Nov 2014 10:34:26 -0800 Subject: [PATCH] Allow stdatomic.h to be included from mingw prebuilt. Define __GNUC_PREREQ if it isn't already defined. This is a bit ugly, but it seems to be easiest to make this header as context-independent as possible. Together with the addition of a symbolic link to this file from the mingw prebuilt, this appears to unblock commit e9fa6be333e35d9e7ae435aeb32532875b95fe22. Change-Id: I97e39cda8d8f9aa108aa61c4121da09eb9739062 --- libc/include/stdatomic.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libc/include/stdatomic.h b/libc/include/stdatomic.h index 58cb1bc0e..2c4f1ce30 100644 --- a/libc/include/stdatomic.h +++ b/libc/include/stdatomic.h @@ -32,6 +32,12 @@ #include <sys/cdefs.h> +#if defined(__GNUC__) && !defined(__GNUC_PREREQ) +/* Duplicate definition here, since the mingw sys/cdefs.h omits the */ +/* definition, and this needs to be usable there. */ +#define __GNUC_PREREQ(x, y) \ + ((__GNUC__ == (x) && __GNUC_MINOR__ >= (y)) || (__GNUC__ > (x))) +#endif /* __GNUC__ && ... */ #if defined(__cplusplus) && __cplusplus >= 201103L && defined(_USING_LIBCXX) # ifdef __clang__