| 
20 | 20 | ///  | 
21 | 21 | #define WANT_STREAM_BOUNDS_CHECKING 1  | 
22 | 22 | 
 
  | 
23 |  | -#if !defined(WANT_STREAM_BOUNDS_CHECKING) && !defined(NDEBUG)  | 
 | 23 | +#if !WANT_STREAM_BOUNDS_CHECKING && !defined(NDEBUG)  | 
24 | 24 |     #define WANT_STREAM_BOUNDS_CHECKING 1  | 
25 | 25 | #endif  | 
26 | 26 | 
 
  | 
 | 
30 | 30 | /// even more). By default only the debug build does this.  | 
31 | 31 | #undef WANT_NAME_DEMANGLING  | 
32 | 32 | 
 
  | 
33 |  | -#if !defined(WANT_NAME_DEMANGLING) && !defined(NDEBUG)  | 
 | 33 | +#if !WANT_NAME_DEMANGLING && !defined(NDEBUG)  | 
34 | 34 |     #define WANT_NAME_DEMANGLING 1  | 
35 | 35 | #endif  | 
36 | 36 | 
 
  | 
 | 
47 | 47 | 	#define __attribute__(p)  | 
48 | 48 |     #endif  | 
49 | 49 | #endif  | 
50 |  | -#if defined(__GNUC__) && __GNUC__ >= 4  | 
 | 50 | +#if __GNUC__ >= 4  | 
51 | 51 |     #define DLL_EXPORT		__attribute__((visibility("default")))  | 
52 | 52 |     #define DLL_LOCAL		__attribute__((visibility("hidden")))  | 
53 | 53 |     #define INLINE		__attribute__((always_inline))  | 
 | 
56 | 56 |     #define DLL_LOCAL  | 
57 | 57 |     #define INLINE  | 
58 | 58 | #endif  | 
59 |  | -#if defined(__GNUC__) && __GNUC__ >= 3 && (__i386__ || __x86_64__)  | 
 | 59 | +#if __cplusplus >= 201103L && (!__GNUC__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))  | 
 | 60 | +    #define HAVE_CPP11 1  | 
 | 61 | +#endif  | 
 | 62 | +#if !HAVE_CPP11  | 
 | 63 | +    #define noexcept		throw()  | 
 | 64 | +#endif  | 
 | 65 | +#if __GNUC__ >= 3 && (__i386__ || __x86_64__)  | 
60 | 66 |     /// GCC 3+ supports the prefetch directive, which some CPUs use to improve caching  | 
61 | 67 |     #define prefetch(p,rw,loc)	__builtin_prefetch(p,rw,loc)  | 
62 | 68 | #else  | 
63 | 69 |     #define prefetch(p,rw,loc)  | 
64 | 70 | #endif  | 
65 |  | -#if !defined(__GNUC__) || __GNUC__ < 3  | 
 | 71 | +#if __GNUC__ < 3  | 
66 | 72 |     /// __alignof__ returns the recommended alignment for the type  | 
67 | 73 |     #define __alignof__(v)	min(sizeof(v), sizeof(void*))  | 
68 | 74 |     /// This macro returns 1 if the value of x is known at compile time.  | 
 | 
168 | 174 | #undef HAVE_RINTF  | 
169 | 175 | 
 
  | 
170 | 176 | // STDC_HEADERS is defined to 1 on sane systems.  | 
171 |  | -#if defined(HAVE_ASSERT_H) && defined(HAVE_CTYPE_H) &&\  | 
172 |  | -    defined(HAVE_ERRNO_H) && defined(HAVE_FLOAT_H) &&\  | 
173 |  | -    defined(HAVE_LIMITS_H) && defined(HAVE_LOCALE_H) &&\  | 
174 |  | -    defined(HAVE_MATH_H) && defined(HAVE_SIGNAL_H) &&\  | 
175 |  | -    defined(HAVE_STDARG_H) && defined(HAVE_STDDEF_H) &&\  | 
176 |  | -    defined(HAVE_STDIO_H) && defined(HAVE_STDLIB_H) &&\  | 
177 |  | -    defined(HAVE_STRING_H) && defined(HAVE_TIME_H)  | 
178 |  | -#define STDC_HEADERS 1  | 
 | 177 | +#if HAVE_ASSERT_H && HAVE_CTYPE_H  && HAVE_ERRNO_H && HAVE_FLOAT_H &&\  | 
 | 178 | +    HAVE_LIMITS_H && HAVE_LOCALE_H && HAVE_MATH_H  && HAVE_SIGNAL_H &&\  | 
 | 179 | +    HAVE_STDARG_H && HAVE_STDDEF_H && HAVE_STDIO_H && HAVE_STDLIB_H &&\  | 
 | 180 | +    HAVE_STRING_H && HAVE_TIME_H  | 
 | 181 | +    #define STDC_HEADERS 1  | 
179 | 182 | #endif  | 
180 | 183 | 
 
  | 
181 | 184 | // STDC_HEADERS is defined to 1 on unix systems.  | 
182 |  | -#if defined(HAVE_FCNTL_H) && defined(HAVE_SYS_STAT_H) && defined(HAVE_UNISTD_H)  | 
183 |  | -#define STDUNIX_HEADERS 1  | 
 | 185 | +#if HAVE_FCNTL_H && HAVE_SYS_STAT_H && HAVE_UNISTD_H  | 
 | 186 | +    #define STDUNIX_HEADERS 1  | 
184 | 187 | #endif  | 
185 | 188 | 
 
  | 
186 | 189 | // Define to 1 if your compiler treats char as a separate type along with  | 
 | 
237 | 240 | #endif  | 
238 | 241 | 
 
  | 
239 | 242 | // GCC vector extensions  | 
240 |  | -#if (defined(CPU_HAS_MMX) || defined(CPU_HAS_SSE)) && __GNUC__ >= 3  | 
 | 243 | +#if (CPU_HAS_MMX || CPU_HAS_SSE) && __GNUC__ >= 3  | 
241 | 244 |     #undef HAVE_VECTOR_EXTENSIONS  | 
242 | 245 | #endif  | 
243 | 246 | 
 
  | 
244 |  | -#if CPU_HAS_SSE && defined(__GNUC__)  | 
 | 247 | +#if CPU_HAS_SSE && __GNUC__  | 
245 | 248 |     #define __sse_align	__attribute__((aligned(16)))  | 
246 | 249 | #else  | 
247 | 250 |     #define __sse_align	  | 
 | 
0 commit comments