xref: /aosp_15_r20/external/llvm-libc/hdr/fenv_macros.h (revision 71db0c75aadcf003ffe3238005f61d7618a3fead)
1*71db0c75SAndroid Build Coastguard Worker //===-- Definition of macros from fenv.h ----------------------------------===//
2*71db0c75SAndroid Build Coastguard Worker //
3*71db0c75SAndroid Build Coastguard Worker // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*71db0c75SAndroid Build Coastguard Worker // See https://llvm.org/LICENSE.txt for license information.
5*71db0c75SAndroid Build Coastguard Worker // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*71db0c75SAndroid Build Coastguard Worker //
7*71db0c75SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
8*71db0c75SAndroid Build Coastguard Worker 
9*71db0c75SAndroid Build Coastguard Worker #ifndef LLVM_LIBC_HDR_FENV_MACROS_H
10*71db0c75SAndroid Build Coastguard Worker #define LLVM_LIBC_HDR_FENV_MACROS_H
11*71db0c75SAndroid Build Coastguard Worker 
12*71db0c75SAndroid Build Coastguard Worker #ifdef LIBC_FULL_BUILD
13*71db0c75SAndroid Build Coastguard Worker 
14*71db0c75SAndroid Build Coastguard Worker #include "include/llvm-libc-macros/fenv-macros.h"
15*71db0c75SAndroid Build Coastguard Worker 
16*71db0c75SAndroid Build Coastguard Worker #else // Overlay mode
17*71db0c75SAndroid Build Coastguard Worker 
18*71db0c75SAndroid Build Coastguard Worker #include <fenv.h>
19*71db0c75SAndroid Build Coastguard Worker 
20*71db0c75SAndroid Build Coastguard Worker // In some environment, FE_ALL_EXCEPT is set to 0 and the remaining exceptions
21*71db0c75SAndroid Build Coastguard Worker // FE_* are missing.
22*71db0c75SAndroid Build Coastguard Worker #ifndef FE_DIVBYZERO
23*71db0c75SAndroid Build Coastguard Worker #define FE_DIVBYZERO 0
24*71db0c75SAndroid Build Coastguard Worker #endif // FE_DIVBYZERO
25*71db0c75SAndroid Build Coastguard Worker 
26*71db0c75SAndroid Build Coastguard Worker #ifndef FE_INEXACT
27*71db0c75SAndroid Build Coastguard Worker #define FE_INEXACT 0
28*71db0c75SAndroid Build Coastguard Worker #endif // FE_INEXACT
29*71db0c75SAndroid Build Coastguard Worker 
30*71db0c75SAndroid Build Coastguard Worker #ifndef FE_INVALID
31*71db0c75SAndroid Build Coastguard Worker #define FE_INVALID 0
32*71db0c75SAndroid Build Coastguard Worker #endif // FE_INVALID
33*71db0c75SAndroid Build Coastguard Worker 
34*71db0c75SAndroid Build Coastguard Worker #ifndef FE_OVERFLOW
35*71db0c75SAndroid Build Coastguard Worker #define FE_OVERFLOW 0
36*71db0c75SAndroid Build Coastguard Worker #endif // FE_OVERFLOW
37*71db0c75SAndroid Build Coastguard Worker 
38*71db0c75SAndroid Build Coastguard Worker #ifndef FE_UNDERFLOW
39*71db0c75SAndroid Build Coastguard Worker #define FE_UNDERFLOW 0
40*71db0c75SAndroid Build Coastguard Worker #endif // FE_UNDERFLOW
41*71db0c75SAndroid Build Coastguard Worker 
42*71db0c75SAndroid Build Coastguard Worker // Rounding mode macros might be missing.
43*71db0c75SAndroid Build Coastguard Worker #ifndef FE_DOWNWARD
44*71db0c75SAndroid Build Coastguard Worker #define FE_DOWNWARD 0x400
45*71db0c75SAndroid Build Coastguard Worker #endif // FE_DOWNWARD
46*71db0c75SAndroid Build Coastguard Worker 
47*71db0c75SAndroid Build Coastguard Worker #ifndef FE_TONEAREST
48*71db0c75SAndroid Build Coastguard Worker #define FE_TONEAREST 0
49*71db0c75SAndroid Build Coastguard Worker #endif // FE_TONEAREST
50*71db0c75SAndroid Build Coastguard Worker 
51*71db0c75SAndroid Build Coastguard Worker #ifndef FE_TOWARDZERO
52*71db0c75SAndroid Build Coastguard Worker #define FE_TOWARDZERO 0xC00
53*71db0c75SAndroid Build Coastguard Worker #endif // FE_TOWARDZERO
54*71db0c75SAndroid Build Coastguard Worker 
55*71db0c75SAndroid Build Coastguard Worker #ifndef FE_UPWARD
56*71db0c75SAndroid Build Coastguard Worker #define FE_UPWARD 0x800
57*71db0c75SAndroid Build Coastguard Worker #endif // FE_UPWARD
58*71db0c75SAndroid Build Coastguard Worker 
59*71db0c75SAndroid Build Coastguard Worker #endif // LLVM_LIBC_FULL_BUILD
60*71db0c75SAndroid Build Coastguard Worker 
61*71db0c75SAndroid Build Coastguard Worker #endif // LLVM_LIBC_HDR_FENV_MACROS_H
62