From 5b840a375d5d08c68c2088eeab1af271886b1815 Mon Sep 17 00:00:00 2001 From: Red54 Date: Fri, 27 Nov 2015 15:01:59 +0800 Subject: [PATCH] Add support for GCC below 4.1.0. --- src/civetweb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/civetweb.c b/src/civetweb.c index d69d7748..bb99983f 100755 --- a/src/civetweb.c +++ b/src/civetweb.c @@ -1253,7 +1253,7 @@ mg_atomic_inc(volatile int *addr) * (volatile unsigned int *) or (volatile LONG *), * so whatever you use, the other SDK is likely to raise a warning. */ ret = InterlockedIncrement((volatile long *)addr); -#elif defined(__GNUC__) +#elif defined(__GNUC__) && (__GNUC__ > 5 || (__GNUC__ == 4 && __GNUC_MINOR__ > 0)) ret = __sync_add_and_fetch(addr, 1); #else ret = (++(*addr)); @@ -1270,7 +1270,7 @@ mg_atomic_dec(volatile int *addr) * (volatile unsigned int *) or (volatile LONG *), * so whatever you use, the other SDK is likely to raise a warning. */ ret = InterlockedDecrement((volatile long *)addr); -#elif defined(__GNUC__) +#elif defined(__GNUC__) && (__GNUC__ > 5 || (__GNUC__ == 4 && __GNUC_MINOR__ > 0)) ret = __sync_sub_and_fetch(addr, 1); #else ret = (--(*addr));