Warning, /include/c++/v1/cfenv is written in an unsupported language. File is not indexed.
0001 // -*- C++ -*-
0002 //===----------------------------------------------------------------------===//
0003 //
0004 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0005 // See https://llvm.org/LICENSE.txt for license information.
0006 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0007 //
0008 //===----------------------------------------------------------------------===//
0009
0010 #ifndef _LIBCPP_CFENV
0011 #define _LIBCPP_CFENV
0012
0013 /*
0014 cfenv synopsis
0015
0016 This entire header is C99 / C++0X
0017
0018 Macros:
0019
0020 FE_DIVBYZERO
0021 FE_INEXACT
0022 FE_INVALID
0023 FE_OVERFLOW
0024 FE_UNDERFLOW
0025 FE_ALL_EXCEPT
0026 FE_DOWNWARD
0027 FE_TONEAREST
0028 FE_TOWARDZERO
0029 FE_UPWARD
0030 FE_DFL_ENV
0031
0032 namespace std
0033 {
0034
0035 Types:
0036
0037 fenv_t
0038 fexcept_t
0039
0040 int feclearexcept(int excepts);
0041 int fegetexceptflag(fexcept_t* flagp, int excepts);
0042 int feraiseexcept(int excepts);
0043 int fesetexceptflag(const fexcept_t* flagp, int excepts);
0044 int fetestexcept(int excepts);
0045 int fegetround();
0046 int fesetround(int round);
0047 int fegetenv(fenv_t* envp);
0048 int feholdexcept(fenv_t* envp);
0049 int fesetenv(const fenv_t* envp);
0050 int feupdateenv(const fenv_t* envp);
0051
0052 } // std
0053 */
0054
0055 #if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
0056 # include <__cxx03/cfenv>
0057 #else
0058 # include <__config>
0059
0060 # include <fenv.h>
0061
0062 # ifndef _LIBCPP_FENV_H
0063 # error <cfenv> tried including <fenv.h> but didn't find libc++'s <fenv.h> header. \
0064 This usually means that your header search paths are not configured properly. \
0065 The header search paths should contain the C++ Standard Library headers before \
0066 any C Standard Library, and you are probably using compiler flags that make that \
0067 not be the case.
0068 # endif
0069
0070 # if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
0071 # pragma GCC system_header
0072 # endif
0073
0074 _LIBCPP_BEGIN_NAMESPACE_STD
0075
0076 using ::fenv_t _LIBCPP_USING_IF_EXISTS;
0077 using ::fexcept_t _LIBCPP_USING_IF_EXISTS;
0078
0079 using ::feclearexcept _LIBCPP_USING_IF_EXISTS;
0080 using ::fegetexceptflag _LIBCPP_USING_IF_EXISTS;
0081 using ::feraiseexcept _LIBCPP_USING_IF_EXISTS;
0082 using ::fesetexceptflag _LIBCPP_USING_IF_EXISTS;
0083 using ::fetestexcept _LIBCPP_USING_IF_EXISTS;
0084 using ::fegetround _LIBCPP_USING_IF_EXISTS;
0085 using ::fesetround _LIBCPP_USING_IF_EXISTS;
0086 using ::fegetenv _LIBCPP_USING_IF_EXISTS;
0087 using ::feholdexcept _LIBCPP_USING_IF_EXISTS;
0088 using ::fesetenv _LIBCPP_USING_IF_EXISTS;
0089 using ::feupdateenv _LIBCPP_USING_IF_EXISTS;
0090
0091 _LIBCPP_END_NAMESPACE_STD
0092
0093 #endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
0094
0095 #endif // _LIBCPP_CFENV