xref: /aosp_15_r20/external/libcxx/include/experimental/__config (revision 58b9f456b02922dfdb1fad8a988d5fd8765ecb80)
1*58b9f456SAndroid Build Coastguard Worker// -*- C++ -*-
2*58b9f456SAndroid Build Coastguard Worker//===--------------------------- __config ---------------------------------===//
3*58b9f456SAndroid Build Coastguard Worker//
4*58b9f456SAndroid Build Coastguard Worker//                     The LLVM Compiler Infrastructure
5*58b9f456SAndroid Build Coastguard Worker//
6*58b9f456SAndroid Build Coastguard Worker// This file is dual licensed under the MIT and the University of Illinois Open
7*58b9f456SAndroid Build Coastguard Worker// Source Licenses. See LICENSE.TXT for details.
8*58b9f456SAndroid Build Coastguard Worker//
9*58b9f456SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
10*58b9f456SAndroid Build Coastguard Worker
11*58b9f456SAndroid Build Coastguard Worker#ifndef _LIBCPP_EXPERIMENTAL_CONFIG
12*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_EXPERIMENTAL_CONFIG
13*58b9f456SAndroid Build Coastguard Worker
14*58b9f456SAndroid Build Coastguard Worker#include <__config>
15*58b9f456SAndroid Build Coastguard Worker
16*58b9f456SAndroid Build Coastguard Worker#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
17*58b9f456SAndroid Build Coastguard Worker#pragma GCC system_header
18*58b9f456SAndroid Build Coastguard Worker#endif
19*58b9f456SAndroid Build Coastguard Worker
20*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL namespace std { namespace experimental {
21*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_END_NAMESPACE_EXPERIMENTAL  } }
22*58b9f456SAndroid Build Coastguard Worker#define _VSTD_EXPERIMENTAL std::experimental
23*58b9f456SAndroid Build Coastguard Worker
24*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_BEGIN_NAMESPACE_LFTS _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace fundamentals_v1 {
25*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_END_NAMESPACE_LFTS  } } }
26*58b9f456SAndroid Build Coastguard Worker#define _VSTD_LFTS _VSTD_EXPERIMENTAL::fundamentals_v1
27*58b9f456SAndroid Build Coastguard Worker
28*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_BEGIN_NAMESPACE_LFTS_V2 _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace fundamentals_v2 {
29*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_END_NAMESPACE_LFTS_V2  } } }
30*58b9f456SAndroid Build Coastguard Worker#define _VSTD_LFTS_V2 _VSTD_EXPERIMENTAL::fundamentals_v2
31*58b9f456SAndroid Build Coastguard Worker
32*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_BEGIN_NAMESPACE_LFTS_PMR _LIBCPP_BEGIN_NAMESPACE_LFTS namespace pmr {
33*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_END_NAMESPACE_LFTS_PMR _LIBCPP_END_NAMESPACE_LFTS }
34*58b9f456SAndroid Build Coastguard Worker#define _VSTD_LFTS_PMR _VSTD_LFTS::pmr
35*58b9f456SAndroid Build Coastguard Worker
36*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_BEGIN_NAMESPACE_CHRONO_LFTS _LIBCPP_BEGIN_NAMESPACE_STD        \
37*58b9f456SAndroid Build Coastguard Worker  namespace chrono { namespace experimental { inline namespace fundamentals_v1 {
38*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_END_NAMESPACE_CHRONO_LFTS _LIBCPP_END_NAMESPACE_STD } } }
39*58b9f456SAndroid Build Coastguard Worker
40*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_FILESYSTEM \
41*58b9f456SAndroid Build Coastguard Worker    _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL namespace filesystem { \
42*58b9f456SAndroid Build Coastguard Worker    inline namespace v1 {
43*58b9f456SAndroid Build Coastguard Worker
44*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_FILESYSTEM \
45*58b9f456SAndroid Build Coastguard Worker    } } _LIBCPP_END_NAMESPACE_EXPERIMENTAL
46*58b9f456SAndroid Build Coastguard Worker
47*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_COROUTINES \
48*58b9f456SAndroid Build Coastguard Worker  _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace coroutines_v1 {
49*58b9f456SAndroid Build Coastguard Worker
50*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_COROUTINES \
51*58b9f456SAndroid Build Coastguard Worker  } _LIBCPP_END_NAMESPACE_EXPERIMENTAL
52*58b9f456SAndroid Build Coastguard Worker
53*58b9f456SAndroid Build Coastguard Worker#define _VSTD_CORO _VSTD_EXPERIMENTAL::coroutines_v1
54*58b9f456SAndroid Build Coastguard Worker
55*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD \
56*58b9f456SAndroid Build Coastguard Worker    _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace parallelism_v2 {
57*58b9f456SAndroid Build Coastguard Worker
58*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_SIMD \
59*58b9f456SAndroid Build Coastguard Worker    } _LIBCPP_END_NAMESPACE_EXPERIMENTAL
60*58b9f456SAndroid Build Coastguard Worker
61*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD_ABI \
62*58b9f456SAndroid Build Coastguard Worker    _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD namespace simd_abi {
63*58b9f456SAndroid Build Coastguard Worker
64*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_SIMD_ABI \
65*58b9f456SAndroid Build Coastguard Worker    } _LIBCPP_END_NAMESPACE_EXPERIMENTAL_SIMD
66*58b9f456SAndroid Build Coastguard Worker
67*58b9f456SAndroid Build Coastguard Worker// TODO: support more targets
68*58b9f456SAndroid Build Coastguard Worker#if defined(__AVX__)
69*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_NATIVE_SIMD_WIDTH_IN_BYTES 32
70*58b9f456SAndroid Build Coastguard Worker#else
71*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_NATIVE_SIMD_WIDTH_IN_BYTES 16
72*58b9f456SAndroid Build Coastguard Worker#endif
73*58b9f456SAndroid Build Coastguard Worker
74*58b9f456SAndroid Build Coastguard Worker#endif
75