| 1 | // -*- C++ -*- |
| 2 | //===-- pstl_test_config.h ------------------------------------------------===// |
| 3 | // |
| 4 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| 5 | // See https://llvm.org/LICENSE.txt for license information. |
| 6 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| 7 | // |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | |
| 10 | #ifndef _PSTL_TEST_config_H |
| 11 | #define _PSTL_TEST_config_H |
| 12 | |
| 13 | #if defined(_MSC_VER) && defined(_DEBUG) |
| 14 | # define _SCL_SECURE_NO_WARNINGS //to prevent the compilation warning. Microsoft STL implementation has specific checking of an iterator range in DEBUG mode for the containers from the standard library. |
| 15 | #endif |
| 16 | |
| 17 | #ifndef __clang__ |
| 18 | # define _PSTL_ICC_16_17_TEST_REDUCTION_BOOL_TYPE_RELEASE_64_BROKEN \ |
| 19 | (__x86_64 && !_DEBUG && __INTEL_COMPILER && __INTEL_COMPILER <= 1700 && !__APPLE__) |
| 20 | # define _PSTL_ICC_16_17_TEST_REDUCTION_RELEASE_BROKEN \ |
| 21 | (!_DEBUG && __INTEL_COMPILER && \ |
| 22 | (__INTEL_COMPILER < 1800 || (__INTEL_COMPILER == 1800 && __INTEL_COMPILER_UPDATE < 1))) |
| 23 | # define _PSTL_ICC_1800_TEST_MONOTONIC_RELEASE_64_BROKEN \ |
| 24 | (__x86_64 && !_DEBUG && __INTEL_COMPILER && __INTEL_COMPILER == 1800 && __INTEL_COMPILER_UPDATE < 1) |
| 25 | # define _PSTL_ICC_17_TEST_MAC_RELEASE_32_BROKEN \ |
| 26 | (__i386__ && !_DEBUG && __INTEL_COMPILER >= 1700 && __INTEL_COMPILER < 1800 && __APPLE__) |
| 27 | # define _PSTL_ICC_18_VC141_TEST_SIMD_LAMBDA_RELEASE_BROKEN \ |
| 28 | (!_DEBUG && __INTEL_COMPILER >= 1800 && __INTEL_COMPILER < 1900 && _MSC_VER == 1910) |
| 29 | # define _PSTL_ICC_17_VC141_TEST_SIMD_LAMBDA_DEBUG_32_BROKEN \ |
| 30 | (_M_IX86 && _DEBUG && __INTEL_COMPILER >= 1700 && __INTEL_COMPILER < 1800 && _MSC_VER >= 1900) |
| 31 | # define _PSTL_ICC_16_VC14_TEST_SIMD_LAMBDA_DEBUG_32_BROKEN \ |
| 32 | (_M_IX86 && _DEBUG && __INTEL_COMPILER >= 1600 && __INTEL_COMPILER < 1700 && _MSC_VER == 1900) |
| 33 | # define _PSTL_ICC_16_VC14_TEST_PAR_TBB_RT_RELEASE_64_BROKEN \ |
| 34 | (((_M_X64 && _MSC_VER == 1900) || __x86_64) && !_DEBUG && __INTEL_COMPILER < 1700) |
| 35 | # define _PSTL_ICC_16_17_TEST_64_TIMEOUT (__x86_64 && __INTEL_COMPILER && __INTEL_COMPILER < 1800 && !__APPLE__) |
| 36 | # define _PSTL_ICC_18_TEST_EARLY_EXIT_MONOTONIC_RELEASE_BROKEN \ |
| 37 | (!_DEBUG && __INTEL_COMPILER && __INTEL_COMPILER == 1800) |
| 38 | # define _PSTL_CLANG_TEST_BIG_OBJ_DEBUG_32_BROKEN \ |
| 39 | (__i386__ && PSTL_USE_DEBUG && __clang__ && _PSTL_CLANG_VERSION <= 90000) |
| 40 | # define _PSTL_ICC_16_17_18_TEST_UNIQUE_MASK_RELEASE_BROKEN \ |
| 41 | (!_DEBUG && __INTEL_COMPILER && \ |
| 42 | (__INTEL_COMPILER < 1800 || (__INTEL_COMPILER == 1800 && __INTEL_COMPILER_UPDATE < 3))) |
| 43 | # define _PSTL_ICC_18_TEST_EARLY_EXIT_AVX_RELEASE_BROKEN \ |
| 44 | (!_DEBUG && __INTEL_COMPILER == 1800 && __AVX__ && !__AVX2__ && !__AVX512__) |
| 45 | # define _PSTL_ICC_19_TEST_IS_PARTITIONED_RELEASE_BROKEN \ |
| 46 | (!PSTL_USE_DEBUG && (__linux__ || __APPLE__) && __INTEL_COMPILER == 1900) |
| 47 | # define _PSTL_ICL_19_VC14_VC141_TEST_SCAN_RELEASE_BROKEN \ |
| 48 | (__INTEL_COMPILER == 1900 && _MSC_VER >= 1900 && _MSC_VER <= 1910) |
| 49 | # define _PSTL_ICC_19_TEST_SIMD_UDS_WINDOWS_RELEASE_BROKEN (__INTEL_COMPILER == 1900 && _MSC_VER && !_DEBUG) |
| 50 | #endif // !__clang__ |
| 51 | |
| 52 | #endif /* _PSTL_TEST_config_H */ |
| 53 | |