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