[rtsan] Remove mkfifoat interceptor (#116997)
[llvm-project.git] / libcxx / include / fenv.h
blob5647f2b339555d977cdb66c9df651ce4542f4819
1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
3 //
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //
8 //===----------------------------------------------------------------------===//
10 #ifndef _LIBCPP_FENV_H
11 #define _LIBCPP_FENV_H
14 fenv.h synopsis
16 This entire header is C99 / C++0X
18 Macros:
20 FE_DIVBYZERO
21 FE_INEXACT
22 FE_INVALID
23 FE_OVERFLOW
24 FE_UNDERFLOW
25 FE_ALL_EXCEPT
26 FE_DOWNWARD
27 FE_TONEAREST
28 FE_TOWARDZERO
29 FE_UPWARD
30 FE_DFL_ENV
32 Types:
34 fenv_t
35 fexcept_t
37 int feclearexcept(int excepts);
38 int fegetexceptflag(fexcept_t* flagp, int excepts);
39 int feraiseexcept(int excepts);
40 int fesetexceptflag(const fexcept_t* flagp, int excepts);
41 int fetestexcept(int excepts);
42 int fegetround();
43 int fesetround(int round);
44 int fegetenv(fenv_t* envp);
45 int feholdexcept(fenv_t* envp);
46 int fesetenv(const fenv_t* envp);
47 int feupdateenv(const fenv_t* envp);
52 #include <__config>
54 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
55 # pragma GCC system_header
56 #endif
58 #if __has_include_next(<fenv.h>)
59 # include_next <fenv.h>
60 #endif
62 #ifdef __cplusplus
64 extern "C++" {
66 # ifdef feclearexcept
67 # undef feclearexcept
68 # endif
70 # ifdef fegetexceptflag
71 # undef fegetexceptflag
72 # endif
74 # ifdef feraiseexcept
75 # undef feraiseexcept
76 # endif
78 # ifdef fesetexceptflag
79 # undef fesetexceptflag
80 # endif
82 # ifdef fetestexcept
83 # undef fetestexcept
84 # endif
86 # ifdef fegetround
87 # undef fegetround
88 # endif
90 # ifdef fesetround
91 # undef fesetround
92 # endif
94 # ifdef fegetenv
95 # undef fegetenv
96 # endif
98 # ifdef feholdexcept
99 # undef feholdexcept
100 # endif
102 # ifdef fesetenv
103 # undef fesetenv
104 # endif
106 # ifdef feupdateenv
107 # undef feupdateenv
108 # endif
110 } // extern "C++"
112 #endif // defined(__cplusplus)
114 #endif // _LIBCPP_FENV_H