Revert "[llvm] Improve llvm.objectsize computation by computing GEP, alloca and mallo...
[llvm-project.git] / libc / hdr / fenv_macros.h
blob3f0bd89a6ea35451f85ec55bd746081e89bb3735
1 //===-- Definition of macros from fenv.h ----------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_LIBC_HDR_FENV_MACROS_H
10 #define LLVM_LIBC_HDR_FENV_MACROS_H
12 #ifdef LIBC_FULL_BUILD
14 #include "include/llvm-libc-macros/fenv-macros.h"
16 #else // Overlay mode
18 #include <fenv.h>
20 // In some environment, FE_ALL_EXCEPT is set to 0 and the remaining exceptions
21 // FE_* are missing.
22 #ifndef FE_DIVBYZERO
23 #define FE_DIVBYZERO 0
24 #endif // FE_DIVBYZERO
26 #ifndef FE_INEXACT
27 #define FE_INEXACT 0
28 #endif // FE_INEXACT
30 #ifndef FE_INVALID
31 #define FE_INVALID 0
32 #endif // FE_INVALID
34 #ifndef FE_OVERFLOW
35 #define FE_OVERFLOW 0
36 #endif // FE_OVERFLOW
38 #ifndef FE_UNDERFLOW
39 #define FE_UNDERFLOW 0
40 #endif // FE_UNDERFLOW
42 // Rounding mode macros might be missing.
43 #ifndef FE_DOWNWARD
44 #define FE_DOWNWARD 0x400
45 #endif // FE_DOWNWARD
47 #ifndef FE_TONEAREST
48 #define FE_TONEAREST 0
49 #endif // FE_TONEAREST
51 #ifndef FE_TOWARDZERO
52 #define FE_TOWARDZERO 0xC00
53 #endif // FE_TOWARDZERO
55 #ifndef FE_UPWARD
56 #define FE_UPWARD 0x800
57 #endif // FE_UPWARD
59 #endif // LLVM_LIBC_FULL_BUILD
61 #endif // LLVM_LIBC_HDR_FENV_MACROS_H