15 #ifndef INCG_IRIS_IUTEST_STDLIB_DEFS_HPP_9C62C097_E5FB_49EE_9329_811F32C846A2_
16 #define INCG_IRIS_IUTEST_STDLIB_DEFS_HPP_9C62C097_E5FB_49EE_9329_811F32C846A2_
22 #define __STDC_FORMAT_MACROS 1
25 #if defined(IUTEST_USE_GTEST) && defined(__STRICT_ANSI__)
26 # undef __STRICT_ANSI__
30 # define __STRICT_ANSI__
32 #if !defined(_MSC_VER)
41 #if !defined(IUTEST_HAS_CXX_HDR_VERSION)
42 # if defined(__has_include)
43 # if __has_include(<version>)
44 # define IUTEST_HAS_CXX_HDR_VERSION 1
49 #if !defined(IUTEST_HAS_CXX_HDR_VERSION)
50 # define IUTEST_HAS_CXX_HDR_VERSION 0
53 #if IUTEST_HAS_CXX_HDR_VERSION
60 #if defined(__GLIBCPP__) || defined(__GLIBCXX__)
63 #if defined(__clang__)
64 # if __has_include(<experimental/memory_resource>)
65 # define IUTEST_LIBSTDCXX_VERSION 60100
66 # elif __has_include(<experimental/any>)
67 # define IUTEST_LIBSTDCXX_VERSION 50100
68 # elif __has_include(<shared_mutex>)
69 # define IUTEST_LIBSTDCXX_VERSION 40900
70 # elif __has_include(<ext/cmath>)
71 # define IUTEST_LIBSTDCXX_VERSION 40800
72 # elif __has_include(<scoped_allocator>)
73 # define IUTEST_LIBSTDCXX_VERSION 40700
74 # elif __has_include(<typeindex>)
75 # define IUTEST_LIBSTDCXX_VERSION 40600
76 # elif __has_include(<future>)
77 # define IUTEST_LIBSTDCXX_VERSION 40500
78 # elif __has_include(<ratio>)
79 # define IUTEST_LIBSTDCXX_VERSION 40400
80 # elif __has_include(<array>)
81 # define IUTEST_LIBSTDCXX_VERSION 40300
83 #elif defined(__GNUC__)
84 # define IUTEST_LIBSTDCXX_VERSION (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__)
88 # if IUTEST_LIBSTDCXX_VERSION >= 60100
89 # if !defined(IUTEST_HAS_STD_INVOKE) && IUTEST_HAS_CXX1Z
90 # define IUTEST_HAS_STD_INVOKE 1
93 # if IUTEST_LIBSTDCXX_VERSION >= 50100
94 # if !defined(IUTEST_HAS_CXX_HDR_CODECVT)
95 # define IUTEST_HAS_CXX_HDR_CODECVT 1
98 # if IUTEST_LIBSTDCXX_VERSION >= 40900
99 # if !defined(IUTEST_HAS_CXX_HDR_REGEX)
100 # define IUTEST_HAS_CXX_HDR_REGEX 1
103 # if IUTEST_LIBSTDCXX_VERSION >= 40700
104 # if !defined(IUTEST_HAS_STD_EMPLACE)
105 # define IUTEST_HAS_STD_EMPLACE 1
107 # if !defined(IUTEST_HAS_CXX_HDR_CHRONO)
108 # define IUTEST_HAS_CXX_HDR_CHRONO 1
111 # if IUTEST_LIBSTDCXX_VERSION >= 40600
112 # if !defined(IUTEST_HAS_STD_BEGIN_END)
113 # define IUTEST_HAS_STD_BEGIN_END 1
116 # if IUTEST_LIBSTDCXX_VERSION >= 40500
117 # if !defined(IUTEST_HAS_STD_DECLVAL)
118 # define IUTEST_HAS_STD_DECLVAL 1
120 # if !defined(IUTEST_HAS_CXX_HDR_RANDOM)
121 # define IUTEST_HAS_CXX_HDR_RANDOM 1
123 # if !defined(IUTEST_HAS_CXX_HDR_CSTDINT)
124 # define IUTEST_HAS_CXX_HDR_CSTDINT 1
127 # if IUTEST_LIBSTDCXX_VERSION >= 40300
128 # if !defined(IUTEST_HAS_CXX_HDR_ARRAY)
129 # define IUTEST_HAS_CXX_HDR_ARRAY 1
131 # if !defined(IUTEST_HAS_STD_TUPLE)
132 # define IUTEST_HAS_STD_TUPLE 1
135 # if defined(_GLIBCXX_HAVE_QUICK_EXIT) && defined(_GLIBCXX_HAVE_AT_QUICK_EXIT)
136 # if !defined(IUTEST_HAS_STD_QUICK_EXIT)
137 # define IUTEST_HAS_STD_QUICK_EXIT 1
140 # if defined(__has_include)
141 # if !defined(IUTEST_HAS_CXX_HDR_CUCHAR) && __has_include( <cuchar> )
142 # if defined(_GLIBCXX_USE_C11_UCHAR_CXX11) && _GLIBCXX_USE_C11_UCHAR_CXX11
143 # define IUTEST_HAS_CXX_HDR_CUCHAR 1
149 #if !defined(IUTEST_HAS_STD_TUPLE)
150 # if (!defined(__CUDACC__) && !defined(__ARMCC_VERSION) && (IUTEST_LIBSTDCXX_VERSION >= 40000))
151 # if !defined(IUTEST_HAS_TR1_TUPLE)
152 # define IUTEST_HAS_TR1_TUPLE 1
157 #if !defined(IUTEST_HAS_HDR_CXXABI)
158 # if defined(__has_include)
159 # if __has_include( <cxxabi.h> )
160 # define IUTEST_HAS_HDR_CXXABI 1
163 # define IUTEST_HAS_HDR_CXXABI 1
167 #if defined(__GNUC__) && !defined(__clang__)
170 # define IUTEST_HAS_CXX_HDR_FILESYSTEM 0
174 #elif defined(_LIBCPP_VERSION)
178 # if !defined(IUTEST_HAS_STD_BEGIN_END)
179 # define IUTEST_HAS_STD_BEGIN_END 1
181 # if !defined(IUTEST_HAS_STD_DECLVAL)
182 # define IUTEST_HAS_STD_DECLVAL 1
184 # if !defined(IUTEST_HAS_STD_EMPLACE)
185 # define IUTEST_HAS_STD_EMPLACE 1
187 # if !defined(IUTEST_HAS_CXX_HDR_CHRONO)
188 # define IUTEST_HAS_CXX_HDR_CHRONO 1
190 # if !defined(IUTEST_HAS_CXX_HDR_REGEX)
191 # define IUTEST_HAS_CXX_HDR_REGEX 1
193 # if !defined(IUTEST_HAS_CXX_HDR_RANDOM)
194 # define IUTEST_HAS_CXX_HDR_RANDOM 1
196 # if !defined(IUTEST_HAS_CXX_HDR_CODECVT)
197 # define IUTEST_HAS_CXX_HDR_CODECVT 1
199 # if !defined(IUTEST_HAS_CXX_HDR_CSTDINT)
200 # define IUTEST_HAS_CXX_HDR_CSTDINT 1
202 # if !defined(IUTEST_HAS_CXX_HDR_ARRAY)
203 # define IUTEST_HAS_CXX_HDR_ARRAY 1
205 # if !defined(IUTEST_HAS_STD_QUICK_EXIT) && defined(_LIBCPP_HAS_QUICK_EXIT)
206 # if defined(__APPLE__)
207 # define IUTEST_HAS_STD_QUICK_EXIT 0
209 # define IUTEST_HAS_STD_QUICK_EXIT 1
212 # if defined(__has_include)
213 # if !defined(IUTEST_HAS_CXX_HDR_CUCHAR) && __has_include( <cuchar> )
214 # define IUTEST_HAS_CXX_HDR_CUCHAR 1
216 # if !defined(IUTEST_HAS_STD_TUPLE) && __has_include( <tuple> )
217 # define IUTEST_HAS_STD_TUPLE 1
222 #if _LIBCPP_VERSION < 9000
223 # define IUTEST_HAS_CXX_HDR_FILESYSTEM 0
225 #if _LIBCPP_VERSION >= 3700
226 # if !defined(IUTEST_HAS_STD_INVOKE) && IUTEST_HAS_CXX1Z
227 # define IUTEST_HAS_STD_INVOKE 1
230 #if _LIBCPP_VERSION >= 1001
231 # if !defined(IUTEST_HAS_STD_BEGIN_END)
232 # define IUTEST_HAS_STD_BEGIN_END 1
236 #if defined(__has_include)
237 # if !defined(IUTEST_HAS_STD_TUPLE) && !defined(IUTEST_HAS_TR1_TUPLE) && __has_include( <tr1/tuple> )
238 # define IUTEST_HAS_TR1_TUPLE 1
240 # if !defined(IUTEST_HAS_HDR_CXXABI) && __has_include( <cxxabi.h> )
241 # define IUTEST_HAS_HDR_CXXABI 1
245 #elif defined(_MSC_VER) && defined(_MSC_FULL_VER)
250 # if !defined(IUTEST_HAS_CXX_HDR_ARRAY)
251 # define IUTEST_HAS_CXX_HDR_ARRAY 1
256 # if !defined(IUTEST_HAS_STD_BEGIN_END)
257 # define IUTEST_HAS_STD_BEGIN_END 1
259 # if !defined(IUTEST_HAS_STD_DECLVAL)
260 # define IUTEST_HAS_STD_DECLVAL IUTEST_HAS_DECLTYPE
262 # if !defined(IUTEST_HAS_STD_EMPLACE)
263 # define IUTEST_HAS_STD_EMPLACE 1
265 # if !defined(IUTEST_HAS_CXX_HDR_REGEX)
266 # define IUTEST_HAS_CXX_HDR_REGEX 1
268 # if !defined(IUTEST_HAS_CXX_HDR_RANDOM)
269 # define IUTEST_HAS_CXX_HDR_RANDOM 1
271 # if !defined(IUTEST_HAS_CXX_HDR_CODECVT)
272 # define IUTEST_HAS_CXX_HDR_CODECVT 1
274 # if !defined(IUTEST_HAS_CXX_HDR_CSTDINT)
275 # define IUTEST_HAS_CXX_HDR_CSTDINT 1
277 # if !defined(IUTEST_HAS_CXX_HDR_CHRONO) && _MSC_FULL_VER != 190023725
278 # define IUTEST_HAS_CXX_HDR_CHRONO 1
283 # if !defined(IUTEST_HAS_STD_QUICK_EXIT)
284 # define IUTEST_HAS_STD_QUICK_EXIT 1
286 # if !defined(IUTEST_HAS_CXX_HDR_CUCHAR)
287 # define IUTEST_HAS_CXX_HDR_CUCHAR 1
292 # if !defined(IUTEST_HAS_CXX_HDR_CHARCONV) && IUTEST_HAS_CXX17
293 # define IUTEST_HAS_CXX_HDR_CHARCONV 1
298 #if (_MSC_VER > 1700) || (_MSC_VER == 1700 && _VARIADIC_MAX >= 9)
299 # if !defined(IUTEST_HAS_STD_TUPLE)
300 # define IUTEST_HAS_STD_TUPLE 1
302 #elif (_MSC_VER >= 1500) && (_MSC_VER < 1700) && (_MSC_FULL_VER > 150021022)
303 # if !defined(IUTEST_HAS_TR1_TUPLE)
304 # define IUTEST_HAS_TR1_TUPLE 1
308 #elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
318 #if defined(__has_include)
320 #if !defined(IUTEST_HAS_CXX_HDR_ANY)
321 # if __has_include(<any>)
322 # define IUTEST_HAS_CXX_HDR_ANY 1
326 #if !defined(IUTEST_HAS_CXX_HDR_CHARCONV)
327 # if __has_include(<charconv>)
328 # define IUTEST_HAS_CXX_HDR_CHARCONV 1
333 #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED)
334 # if !IUTEST_HAS_CXX17
335 # define IUTEST_HAS_CXX_HDR_FILESYSTEM 0
337 # if __MAC_OS_X_VERSION_MIN_REQUIRED < 101500
338 # define IUTEST_HAS_CXX_HDR_FILESYSTEM 0
342 #if !defined(IUTEST_HAS_CXX_HDR_FILESYSTEM)
343 # if __has_include(<filesystem>)
344 # define IUTEST_HAS_CXX_HDR_FILESYSTEM 1
348 #if !defined(IUTEST_HAS_CXX_HDR_OPTIONAL)
349 # if __has_include(<optional>)
350 # define IUTEST_HAS_CXX_HDR_OPTIONAL 1
354 #if !defined(IUTEST_HAS_CXX_HDR_STRING_VIEW)
355 # if __has_include(<string_view>)
356 # define IUTEST_HAS_CXX_HDR_STRING_VIEW 1
368 #if !defined(IUTEST_HAS_CXX_HDR_VARIANT)
369 # if IUTEST_HAS_VARIADIC_TEMPLATES && defined(__has_include)
370 # if defined(__clang__) && (IUTEST_CLANG_MAJOR < 3 || (IUTEST_CLANG_MAJOR == 3 && IUTEST_CLANG_MINOR < 6))
371 # define IUTEST_HAS_CXX_HDR_VARIANT 0
372 # elif __has_include(<variant>)
373 # define IUTEST_HAS_CXX_HDR_VARIANT 1
378 #if defined(IUTEST_HAS_CXX_HDR_CODECVT) && IUTEST_HAS_CXX_HDR_CODECVT
384 #if defined(__has_include)
385 # if defined(IUTEST_HAS_CXX_HDR_CODECVT) && IUTEST_HAS_CXX_HDR_CODECVT
386 # if !__has_include( <codecvt> )
387 # undef IUTEST_HAS_CXX_HDR_CODECVT
392 #if !defined(IUTEST_HAS_HDR_UNISTD)
393 # if defined(__has_include)
394 # if __has_include(<unistd.h>)
395 # define IUTEST_HAS_HDR_UNISTD 1
400 #if !defined(IUTEST_HAS_HDR_UNISTD)
401 # if defined(IUTEST_OS_LINUX) || defined(IUTEST_OS_CYGWIN) \
402 || defined(IUTEST_OS_MAC) || defined(IUTEST_OS_IOS) \
403 || defined(IUTEST_OS_FREEBSD) \
405 # define IUTEST_HAS_HDR_UNISTD 1
411 #if !defined(IUTEST_HAS_CXX_HDR_ANY)
412 # define IUTEST_HAS_CXX_HDR_ANY 0
415 #if !defined(IUTEST_HAS_CXX_HDR_ARRAY)
416 # define IUTEST_HAS_CXX_HDR_ARRAY 0
419 #if !defined(IUTEST_HAS_CXX_HDR_CHARCONV)
420 # define IUTEST_HAS_CXX_HDR_CHARCONV 0
423 #if !defined(IUTEST_HAS_CXX_HDR_CHRONO)
424 # define IUTEST_HAS_CXX_HDR_CHRONO 0
431 #if !defined(IUTEST_HAS_CXX_HDR_CODECVT)
432 # define IUTEST_HAS_CXX_HDR_CODECVT 0
435 #if !defined(IUTEST_HAS_CXX_HDR_CSTDINT)
436 # define IUTEST_HAS_CXX_HDR_CSTDINT 0
439 #if !defined(IUTEST_HAS_CXX_HDR_CUCHAR)
440 # define IUTEST_HAS_CXX_HDR_CUCHAR 0
443 #if !defined(IUTEST_HAS_CXX_HDR_FILESYSTEM)
444 # define IUTEST_HAS_CXX_HDR_FILESYSTEM 0
447 #if !defined(IUTEST_HAS_CXX_HDR_OPTIONAL)
448 # define IUTEST_HAS_CXX_HDR_OPTIONAL 0
451 #if !defined(IUTEST_HAS_CXX_HDR_RANDOM)
452 # define IUTEST_HAS_CXX_HDR_RANDOM 0
455 #if !defined(IUTEST_HAS_CXX_HDR_REGEX)
456 # define IUTEST_HAS_CXX_HDR_REGEX 0
459 #if !defined(IUTEST_HAS_CXX_HDR_STRING_VIEW)
460 # define IUTEST_HAS_CXX_HDR_STRING_VIEW 0
463 #if !defined(IUTEST_HAS_CXX_HDR_VARIANT)
464 # define IUTEST_HAS_CXX_HDR_VARIANT 0
467 #if !defined(IUTEST_HAS_HDR_CXXABI)
468 # define IUTEST_HAS_HDR_CXXABI 0
471 #if !defined(IUTEST_HAS_HDR_UNISTD)
472 # define IUTEST_HAS_HDR_UNISTD 0
475 #if !defined(IUTEST_HAS_STD_FILESYSTEM)
476 # if defined(ANDROID) || defined(__ANDROID__) || defined(__ARM_EABI__)
477 # define IUTEST_HAS_STD_FILESYSTEM 0
478 # elif defined(__INTEL_COMPILER)
479 # define IUTEST_HAS_STD_FILESYSTEM 0
480 # elif IUTEST_HAS_CXX_HDR_FILESYSTEM && defined(__cpp_lib_filesystem) && __cpp_lib_filesystem >= 201703
481 # if !defined(__cpp_lib_experimental_filesystem)
482 # define IUTEST_HAS_STD_FILESYSTEM 1
487 #if !defined(IUTEST_HAS_STD_TO_CHARS)
488 # if IUTEST_HAS_CXX_HDR_CHARCONV && defined(__cpp_lib_to_chars) && __cpp_lib_to_chars >= 201611
489 # define IUTEST_HAS_STD_TO_CHARS 1
496 #if !defined(IUTEST_HAS_STD_BEGIN_END)
497 # define IUTEST_HAS_STD_BEGIN_END 0
500 #if !defined(IUTEST_HAS_STD_DECLVAL)
501 # define IUTEST_HAS_STD_DECLVAL 0
504 #if !defined(IUTEST_HAS_STD_EMPLACE)
505 # define IUTEST_HAS_STD_EMPLACE 0
508 #if !defined(IUTEST_HAS_STD_FILESYSTEM)
509 # define IUTEST_HAS_STD_FILESYSTEM 0
512 #if !defined(IUTEST_HAS_STD_INVOKE)
513 # define IUTEST_HAS_STD_INVOKE 0
516 #if !defined(IUTEST_HAS_STD_QUICK_EXIT)
517 # define IUTEST_HAS_STD_QUICK_EXIT 0
520 #if !defined(IUTEST_HAS_STD_TO_CHARS)
521 # define IUTEST_HAS_STD_TO_CHARS 0
525 #if !defined(IUTEST_USE_EXTERNAL_TR1_TUPLE)
526 # define IUTEST_USE_EXTERNAL_TR1_TUPLE 0
529 #ifndef IUTEST_USE_EXTERNAL_STD_TUPLE
530 # define IUTEST_USE_EXTERNAL_STD_TUPLE 0
533 #if !defined(IUTEST_HAS_STD_TUPLE)
534 # define IUTEST_HAS_STD_TUPLE 0
537 #if !defined(IUTEST_HAS_TR1_TUPLE)
538 # define IUTEST_HAS_TR1_TUPLE 0
541 #if IUTEST_HAS_STD_TUPLE || IUTEST_HAS_TR1_TUPLE || IUTEST_USE_EXTERNAL_TR1_TUPLE || IUTEST_USE_EXTERNAL_STD_TUPLE
542 # if !defined(IUTEST_HAS_TUPLE)
543 # define IUTEST_HAS_TUPLE 1
546 # if defined(IUTEST_HAS_TUPLE)
547 # undef IUTEST_HAS_TUPLE
549 # define IUTEST_HAS_TUPLE 0
551 #if !defined(IUTEST_HAS_VARIADIC_TUPLES) && IUTEST_HAS_VARIADIC_TEMPLATES && IUTEST_HAS_TUPLE && IUTEST_HAS_STD_TUPLE
552 # if defined(__clang__)
553 # if (IUTEST_CLANG_MAJOR > 3 || (IUTEST_CLANG_MAJOR == 3 && IUTEST_CLANG_MINOR > 7))
554 # define IUTEST_HAS_VARIADIC_TUPLES 1
557 # define IUTEST_HAS_VARIADIC_TUPLES 1
560 #if !defined(IUTEST_HAS_VARIADIC_TUPLES)
561 # define IUTEST_HAS_VARIADIC_TUPLES 0
565 #if !defined(IUTEST_HAS_STD_STR_TO_VALUE)
566 # if IUTEST_HAS_CXX11
567 # if defined(IUTEST_OS_WINDOWS_MINGW)
568 # if defined(__MINGW64__) && (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)))
569 # define IUTEST_HAS_STD_STR_TO_VALUE 1
572 # define IUTEST_HAS_STD_STR_TO_VALUE 1
577 #if !defined(IUTEST_HAS_STD_STR_TO_VALUE)
578 # define IUTEST_HAS_STD_STR_TO_VALUE 0
582 #if !defined(IUTEST_HAS_HDR_SYSTIME)
583 # if defined(IUTEST_OS_WINDOWS) && !defined(IUTEST_OS_WINDOWS_MINGW) && !defined(IUTEST_OS_WINDOWS_WINE)
584 # define IUTEST_HAS_HDR_SYSTIME 0
588 #if !defined(IUTEST_HAS_HDR_SYSTIME)
589 # define IUTEST_HAS_HDR_SYSTIME 1
593 #if defined(IUTEST_OS_WINDOWS_WINE)
594 # define __socklen_t_defined
598 #if !defined(IUTEST_HAS_STRINGSTREAM)
599 # if !defined(_STLP_NO_IOSTREAMS)
600 # define IUTEST_HAS_STRINGSTREAM 1
604 #if !defined(IUTEST_HAS_STRINGSTREAM)
605 # define IUTEST_HAS_STRINGSTREAM 0
614 #if !defined(IUTEST_HAS_STRSTREAM)
615 # define IUTEST_HAS_STRSTREAM 0
619 #if !defined(IUTEST_HAS_IOMANIP)
620 # if IUTEST_HAS_STRINGSTREAM || IUTEST_HAS_STRSTREAM
621 # define IUTEST_HAS_IOMANIP 1
625 #if !defined(IUTEST_HAS_IOMANIP)
626 # define IUTEST_HAS_IOMANIP 0
631 #if !defined(IUTEST_HAS_INVALID_PARAMETER_HANDLER)
632 # if IUTEST_HAS_EXCEPTIONS && (defined(_MSC_VER) && (_MSC_VER >= 1400)) && !defined(IUTEST_OS_WINDOWS_MOBILE)
633 # define IUTEST_HAS_INVALID_PARAMETER_HANDLER 1
637 #if !defined(IUTEST_HAS_INVALID_PARAMETER_HANDLER)
638 # define IUTEST_HAS_INVALID_PARAMETER_HANDLER 0
642 #if !defined(IUTEST_HAS_LARGEFILE_API)
643 # if defined(__LARGEFILE_VISIBLE) && __LARGEFILE_VISIBLE
644 # define IUTEST_HAS_LARGEFILE_API 1
645 # elif defined(__POSIX_VISIBLE) && __POSIX_VISIBLE >= 200112
646 # define IUTEST_HAS_LARGEFILE_API 1
648 # define IUTEST_HAS_LARGEFILE_API 0
654 #if !defined(IUTEST_HAS_FOPEN)
655 # define IUTEST_HAS_FOPEN 1
660 #if !defined(IUTEST_HAS_FILE_STAT)
661 # if !defined(IUTEST_OS_WINDOWS_MOBILE)
662 # define IUTEST_HAS_FILE_STAT 1
666 #if !defined(IUTEST_HAS_FILE_STAT)
667 # define IUTEST_HAS_FILE_STAT 0
671 #if !defined(IUTEST_HAS_FILENO)
672 # if defined(__POSIX_VISIBLE) && __POSIX_VISIBLE == 0
673 # define IUTEST_HAS_FILENO 0
674 # elif defined(IUTEST_OS_WINDOWS_MINGW) && defined(__STRICT_ANSI__)
675 # define IUTEST_HAS_FILENO 0
676 # elif !defined(IUTEST_OS_WINDOWS_MOBILE)
677 # define IUTEST_HAS_FILENO 1
681 #if !defined(IUTEST_HAS_FILENO)
682 # define IUTEST_HAS_FILENO 0
686 #if !defined(IUTEST_HAS_FD_DUP)
687 # if IUTEST_HAS_HDR_UNISTD && !defined(__arm__)
688 # define IUTEST_HAS_FD_DUP 1
692 #if !defined(IUTEST_HAS_FD_DUP)
693 # define IUTEST_HAS_FD_DUP 0
697 #if !defined(IUTEST_HAS_FD_OPEN)
698 # if IUTEST_HAS_HDR_UNISTD
699 # if defined(__arm__)
700 # define IUTEST_HAS_FD_OPEN 0
701 # elif defined(IUTEST_OS_CYGWIN)
702 # if !defined(__STRICT_ANSI__)
703 # define IUTEST_HAS_FD_OPEN 1
705 # elif defined(IUTEST_OS_WINDOWS_MINGW) && !defined(__MINGW64__)
706 # define IUTEST_HAS_FD_OPEN 0
708 # define IUTEST_HAS_FD_OPEN 1
713 #if !defined(IUTEST_HAS_FD_OPEN)
714 # define IUTEST_HAS_FD_OPEN 0
718 #if !defined(IUTEST_HAS_MKSTEMP)
719 # if defined(HAVE_MKSTEMP)
720 # define IUTEST_HAS_MKSTEMP HAVE_MKSTEMP
721 # elif defined(__arm__)
722 # if !defined(_REENT_ONLY) \
723 && ( (defined(__MISC_VISIBLE) && __MISC_VISIBLE) \
724 || (defined(__POSIX_VISIBLE) && __POSIX_VISIBLE >= 200112) \
725 || (defined(__XSI_VISIBLE) && __XSI_VISIBLE >= 4) \
727 # define IUTEST_HAS_MKSTEMP 1
729 # elif defined(IUTEST_OS_CYGWIN)
730 # if !defined(__STRICT_ANSI__)
731 # define IUTEST_HAS_MKSTEMP 1
733 # elif defined(IUTEST_OS_WINDOWS_MINGW) && !defined(__MINGW64__)
734 # define IUTEST_HAS_MKSTEMP 0
735 # elif IUTEST_HAS_HDR_UNISTD
736 # define IUTEST_HAS_MKSTEMP 1
740 #if !defined(IUTEST_HAS_MKSTEMP)
741 # define IUTEST_HAS_MKSTEMP 0
746 # if defined(_MSC_VER) && (_MSC_VER < 1900)
748 # elif defined(IUTEST_OS_WINDOWS_MINGW)
749 # if !defined(__STRICT_ANSI__)
750 # if defined(__MINGW64__)
751 # define IUPRzu PRIu64
752 # elif defined(__MINGW32__)
753 # define IUPRzu PRIu32
763 #if !defined(iu_va_copy)
764 # if defined(va_copy)
765 # define iu_va_copy va_copy
766 # elif defined(__GNUC__) || defined(__clang__)
767 # define iu_va_copy(dest, src) __builtin_va_copy(dest, src)
769 # define iu_va_copy(dest, src) (dest = src)
778 #if IUTEST_HAS_CXX_HDR_ANY
781 #if IUTEST_HAS_CXX_HDR_CSTDINT
784 #if IUTEST_HAS_CXX_HDR_FILESYSTEM && IUTEST_HAS_STD_FILESYSTEM
785 # include <filesystem>
787 #if IUTEST_HAS_CXX_HDR_OPTIONAL
790 #if IUTEST_HAS_CXX_HDR_VARIANT
793 #if IUTEST_HAS_CXX_HDR_CHARCONV
iris unit test compiler 依存の吸収 ファイル