xref: /llvm-project/libcxx/include/__cxx03/experimental/__config (revision ce7771902dc50d900de639d499a60486b83f70e0)
1e78f53d1SNikolas Klauser// -*- C++ -*-
2e78f53d1SNikolas Klauser//===----------------------------------------------------------------------===//
3e78f53d1SNikolas Klauser//
4e78f53d1SNikolas Klauser// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5e78f53d1SNikolas Klauser// See https://llvm.org/LICENSE.txt for license information.
6e78f53d1SNikolas Klauser// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7e78f53d1SNikolas Klauser//
8e78f53d1SNikolas Klauser//===----------------------------------------------------------------------===//
9e78f53d1SNikolas Klauser
10*ce777190SNikolas Klauser#ifndef _LIBCPP___CXX03_EXPERIMENTAL_CONFIG
11*ce777190SNikolas Klauser#define _LIBCPP___CXX03_EXPERIMENTAL_CONFIG
12e78f53d1SNikolas Klauser
1373fbae83SNikolas Klauser#include <__cxx03/__config>
14e78f53d1SNikolas Klauser
15e78f53d1SNikolas Klauser#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
16e78f53d1SNikolas Klauser#  pragma GCC system_header
17e78f53d1SNikolas Klauser#endif
18e78f53d1SNikolas Klauser
19e78f53d1SNikolas Klauser#define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL                                                                           \
20e78f53d1SNikolas Klauser  namespace std {                                                                                                      \
21e78f53d1SNikolas Klauser  namespace experimental {
22e78f53d1SNikolas Klauser#define _LIBCPP_END_NAMESPACE_EXPERIMENTAL                                                                             \
23e78f53d1SNikolas Klauser  }                                                                                                                    \
24e78f53d1SNikolas Klauser  }
25e78f53d1SNikolas Klauser
26e78f53d1SNikolas Klauser#define _LIBCPP_BEGIN_NAMESPACE_LFTS _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace fundamentals_v1 {
27e78f53d1SNikolas Klauser#define _LIBCPP_END_NAMESPACE_LFTS                                                                                     \
28e78f53d1SNikolas Klauser  }                                                                                                                    \
29e78f53d1SNikolas Klauser  }                                                                                                                    \
30e78f53d1SNikolas Klauser  }
31e78f53d1SNikolas Klauser
32e78f53d1SNikolas Klauser#define _LIBCPP_BEGIN_NAMESPACE_LFTS_V2 _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace fundamentals_v2 {
33e78f53d1SNikolas Klauser#define _LIBCPP_END_NAMESPACE_LFTS_V2                                                                                  \
34e78f53d1SNikolas Klauser  }                                                                                                                    \
35e78f53d1SNikolas Klauser  }                                                                                                                    \
36e78f53d1SNikolas Klauser  }
37e78f53d1SNikolas Klauser
38e78f53d1SNikolas Klauser// TODO: support more targets
39e78f53d1SNikolas Klauser#if defined(__AVX__)
40e78f53d1SNikolas Klauser#  define _LIBCPP_NATIVE_SIMD_WIDTH_IN_BYTES 32
41e78f53d1SNikolas Klauser#else
42e78f53d1SNikolas Klauser#  define _LIBCPP_NATIVE_SIMD_WIDTH_IN_BYTES 16
43e78f53d1SNikolas Klauser#endif
44e78f53d1SNikolas Klauser
45e78f53d1SNikolas Klauser#endif
46