Skip to content

Commit 62ea1fb

Browse files
committed
[libc]Add proxy header hdr/float-macros.h
1 parent 43eb5e2 commit 62ea1fb

File tree

6 files changed

+289
-66
lines changed

6 files changed

+289
-66
lines changed

libc/hdr/CMakeLists.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,15 @@ add_proxy_header_library(
4141
libc.include.fenv
4242
)
4343

44+
add_proxy_header_library(
45+
float_macros
46+
HDRS
47+
float_macros.h
48+
FULL_BUILD_DEPENDS
49+
libc.include.llvm-libc-macros.float_macros
50+
libc.incude.float
51+
)
52+
4453
add_proxy_header_library(
4554
signal_macros
4655
HDRS
@@ -58,5 +67,3 @@ add_proxy_header_library(
5867
libc.include.sys_epoll
5968
libc.include.llvm-libc-macros.sys_epoll_macros
6069
)
61-
62-
add_subdirectory(types)

libc/hdr/float_macros.h

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
//===-- Definition of macros from float.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+
//===----------------------------------------------------------------------===//
8+
9+
#ifndef LLVM_LIBC_HDR_FLOAT_MACROS_H
10+
#define LLVM_LIBC_HDR_FLOAT_MACROS_H
11+
12+
#ifdef LIBC_FULL_BUILD
13+
14+
#include "include/llvm-libc-macros/float-macros.h"
15+
16+
#else // Overlay mode
17+
18+
#include <float.h>
19+
20+
#ifndef FLT_RADIX
21+
#define FLT_RADIX __FLT_RADIX__
22+
#endif // FLT_RADIX
23+
24+
#ifndef FLT_EVAL_METHOD
25+
#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
26+
#endif // FLT_EVAL_METHOD
27+
28+
#ifndef DECIMAL_DIG
29+
#define DECIMAL_DIG __DECIMAL_DIG__
30+
#endif // DECIMAL_DIG
31+
32+
#ifndef FLT_DECIMAL_DIG
33+
#define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__
34+
#endif // FLT_DECIMAL_DIG
35+
36+
#ifndef DBL_DECIMAL_DIG
37+
#define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__
38+
#endif // DBL_DECIMAL_DIG
39+
40+
#ifndef LDBL_DECIMAL_DIG
41+
#define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__
42+
#endif // LDBL_DECIMAL_DIG
43+
44+
#ifndef FLT_DIG
45+
#define FLT_DIG __FLT_DIG__
46+
#endif // FLT_DIG
47+
48+
#ifndef DBL_DIG
49+
#define DBL_DIG __DBL_DIG__
50+
#endif // DBL_DIG
51+
52+
#ifndef LDBL_DIG
53+
#define LDBL_DIG __LDBL_DIG__
54+
#endif // LDBL_DIG
55+
56+
#ifndef FLT_MANT_DIG
57+
#define FLT_MANT_DIG __FLT_MANT_DIG__
58+
#endif // FLT_MANT_DIG
59+
60+
#ifndef DBL_MANT_DIG
61+
#define DBL_MANT_DIG __DBL_MANT_DIG__
62+
#endif // DBL_MANT_DIG
63+
64+
#ifndef LDBL_MANT_DIG
65+
#define LDBL_MANT_DIG __LDBL_MANT_DIG__
66+
#endif // LDBL_MANT_DIG
67+
68+
#ifndef FLT_MIN
69+
#define FLT_MIN __FLT_MIN__
70+
#endif // FLT_MIN
71+
72+
#ifndef DBL_MIN
73+
#define DBL_MIN __DBL_MIN__
74+
#endif // DBL_MIN
75+
76+
#ifndef LDBL_MIN
77+
#define LDBL_MIN __LDBL_MIN__
78+
#endif // LDBL_MIN
79+
80+
#ifndef FLT_MAX
81+
#define FLT_MAX __FLT_MAX__
82+
#endif // FLT_MAX
83+
84+
#ifndef DBL_MAX
85+
#define DBL_MAX __DBL_MAX__
86+
#endif // DBL_MAX
87+
88+
#ifndef LDBL_MAX
89+
#define LDBL_MAX __LDBL_MAX__
90+
#endif // LDBL_MAX
91+
92+
#ifndef FLT_TRUE_MIN
93+
#define FLT_TRUE_MIN __FLT_TRUE_MIN__
94+
#endif // FLT_TRUE_MIN
95+
96+
#ifndef DBL_TRUE_MIN
97+
#define DBL_TRUE_MIN __DBL_TRUE_MIN__
98+
#endif // DBL_TRUE_MIN
99+
100+
#ifndef LDBL_TRUE_MIN
101+
#define LDBL_TRUE_MIN __LDBL_TRUE_MIN__
102+
#endif // LDBL_TRUE_MIN
103+
104+
#ifndef FLT_EPSILON
105+
#define FLT_EPSILON __FLT_EPSILON__
106+
#endif // FLT_EPSILON
107+
108+
#ifndef DBL_EPSILON
109+
#define DBL_EPSILON __DBL_EPSILON__
110+
#endif // DBL_EPSILON
111+
112+
#ifndef LDBL_EPSILON
113+
#define LDBL_EPSILON __LDBL_EPSILON__
114+
#endif // LDBL_EPSILON
115+
116+
#ifndef FLT_MIN_EXP
117+
#define FLT_MIN_EXP __FLT_MIN_EXP__
118+
#endif // FLT_MIN_EXP
119+
120+
#ifndef DBL_MIN_EXP
121+
#define DBL_MIN_EXP __DBL_MIN_EXP__
122+
#endif // DBL_MIN_EXP
123+
124+
#ifndef LDBL_MIN_EXP
125+
#define LDBL_MIN_EXP __LDBL_MIN_EXP__
126+
#endif // LDBL_MIN_EXP
127+
128+
#ifndef FLT_MIN_10_EXP
129+
#define FLT_MIN_10_EXP __FLT_MIN_10_EXP__
130+
#endif // FLT_MIN_10_EXP
131+
132+
#ifndef DBL_MIN_10_EXP
133+
#define DBL_MIN_10_EXP __DBL_MIN_10_EXP__
134+
#endif // DBL_MIN_10_EXP
135+
136+
#ifndef LDBL_MIN_10_EXP
137+
#define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
138+
#endif // LDBL_MIN_10_EXP
139+
140+
#ifndef FLT_MAX_EXP
141+
#define FLT_MAX_EXP __FLT_MAX_EXP__
142+
#endif // FLT_MAX_EXP
143+
144+
#ifndef DBL_MAX_EXP
145+
#define DBL_MAX_EXP __DBL_MAX_EXP__
146+
#endif // DBL_MAX_EXP
147+
148+
#ifndef LDBL_MAX_EXP
149+
#define LDBL_MAX_EXP __LDBL_MAX_EXP__
150+
#endif // LDBL_MAX_EXP
151+
152+
#ifndef FLT_MAX_10_EXP
153+
#define FLT_MAX_10_EXP __FLT_MAX_10_EXP__
154+
#endif // FLT_MAX_10_EXP
155+
156+
#ifndef DBL_MAX_10_EXP
157+
#define DBL_MAX_10_EXP __DBL_MAX_10_EXP__
158+
#endif // DBL_MAX_10_EXP
159+
160+
#ifndef LDBL_MAX_10_EXP
161+
#define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
162+
#endif // LDBL_MAX_10_EXP
163+
164+
// TODO: Add FLT16 and FLT128 constants.
165+
166+
#endif // LLVM_LIBC_FULL_BUILD
167+
168+
#endif // LLVM_LIBC_HDR_FLOAT_MACROS_H

0 commit comments

Comments
 (0)