123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // -*- C++ -*-
- //===----------------------------------------------------------------------===//
- //
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- //===----------------------------------------------------------------------===//
- #ifndef _LIBCPP_EXPERIMENTAL_CONFIG
- #define _LIBCPP_EXPERIMENTAL_CONFIG
- #include <__config>
- #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
- # pragma GCC system_header
- #endif
- #define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL namespace std { namespace experimental {
- #define _LIBCPP_END_NAMESPACE_EXPERIMENTAL } }
- #define _VSTD_EXPERIMENTAL std::experimental
- #define _LIBCPP_BEGIN_NAMESPACE_LFTS _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace fundamentals_v1 {
- #define _LIBCPP_END_NAMESPACE_LFTS } } }
- #define _VSTD_LFTS _VSTD_EXPERIMENTAL::fundamentals_v1
- #define _LIBCPP_BEGIN_NAMESPACE_LFTS_V2 _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace fundamentals_v2 {
- #define _LIBCPP_END_NAMESPACE_LFTS_V2 } } }
- #define _VSTD_LFTS_V2 _VSTD_EXPERIMENTAL::fundamentals_v2
- #define _LIBCPP_BEGIN_NAMESPACE_LFTS_PMR _LIBCPP_BEGIN_NAMESPACE_LFTS namespace pmr {
- #define _LIBCPP_END_NAMESPACE_LFTS_PMR _LIBCPP_END_NAMESPACE_LFTS }
- #define _VSTD_LFTS_PMR _VSTD_LFTS::pmr
- #if !defined(__cpp_coroutines) || __cpp_coroutines < 201703L
- #define _LIBCPP_HAS_NO_EXPERIMENTAL_COROUTINES
- #endif
- #define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_COROUTINES \
- _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace coroutines_v1 {
- #define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_COROUTINES \
- } _LIBCPP_END_NAMESPACE_EXPERIMENTAL
- #define _VSTD_CORO _VSTD_EXPERIMENTAL::coroutines_v1
- #define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD \
- _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace parallelism_v2 {
- #define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_SIMD \
- } _LIBCPP_END_NAMESPACE_EXPERIMENTAL
- #define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD_ABI \
- _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD namespace simd_abi {
- #define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_SIMD_ABI \
- } _LIBCPP_END_NAMESPACE_EXPERIMENTAL_SIMD
- // TODO: support more targets
- #if defined(__AVX__)
- #define _LIBCPP_NATIVE_SIMD_WIDTH_IN_BYTES 32
- #else
- #define _LIBCPP_NATIVE_SIMD_WIDTH_IN_BYTES 16
- #endif
- #endif
|