Skip to content

[libc]Add proxy header hdr/float-macros.h #88674

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions libc/hdr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,15 @@ add_proxy_header_library(
libc.include.fenv
)

add_proxy_header_library(
float_macros
HDRS
float_macros.h
FULL_BUILD_DEPENDS
libc.include.llvm-libc-macros.float_macros
libc.incude.float
)

add_proxy_header_library(
signal_macros
HDRS
Expand Down
168 changes: 168 additions & 0 deletions libc/hdr/float_macros.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
//===-- Definition of macros from float.h ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef LLVM_LIBC_HDR_FLOAT_MACROS_H
#define LLVM_LIBC_HDR_FLOAT_MACROS_H

#ifdef LIBC_FULL_BUILD

#include "include/llvm-libc-macros/float-macros.h"

#else // Overlay mode

#include <float.h>

#ifndef FLT_RADIX
#define FLT_RADIX __FLT_RADIX__
#endif // FLT_RADIX

#ifndef FLT_EVAL_METHOD
#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
#endif // FLT_EVAL_METHOD

#ifndef DECIMAL_DIG
#define DECIMAL_DIG __DECIMAL_DIG__
#endif // DECIMAL_DIG

#ifndef FLT_DECIMAL_DIG
#define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__
#endif // FLT_DECIMAL_DIG

#ifndef DBL_DECIMAL_DIG
#define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__
#endif // DBL_DECIMAL_DIG

#ifndef LDBL_DECIMAL_DIG
#define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__
#endif // LDBL_DECIMAL_DIG

#ifndef FLT_DIG
#define FLT_DIG __FLT_DIG__
#endif // FLT_DIG

#ifndef DBL_DIG
#define DBL_DIG __DBL_DIG__
#endif // DBL_DIG

#ifndef LDBL_DIG
#define LDBL_DIG __LDBL_DIG__
#endif // LDBL_DIG

#ifndef FLT_MANT_DIG
#define FLT_MANT_DIG __FLT_MANT_DIG__
#endif // FLT_MANT_DIG

#ifndef DBL_MANT_DIG
#define DBL_MANT_DIG __DBL_MANT_DIG__
#endif // DBL_MANT_DIG

#ifndef LDBL_MANT_DIG
#define LDBL_MANT_DIG __LDBL_MANT_DIG__
#endif // LDBL_MANT_DIG

#ifndef FLT_MIN
#define FLT_MIN __FLT_MIN__
#endif // FLT_MIN

#ifndef DBL_MIN
#define DBL_MIN __DBL_MIN__
#endif // DBL_MIN

#ifndef LDBL_MIN
#define LDBL_MIN __LDBL_MIN__
#endif // LDBL_MIN

#ifndef FLT_MAX
#define FLT_MAX __FLT_MAX__
#endif // FLT_MAX

#ifndef DBL_MAX
#define DBL_MAX __DBL_MAX__
#endif // DBL_MAX

#ifndef LDBL_MAX
#define LDBL_MAX __LDBL_MAX__
#endif // LDBL_MAX

#ifndef FLT_TRUE_MIN
#define FLT_TRUE_MIN __FLT_TRUE_MIN__
#endif // FLT_TRUE_MIN

#ifndef DBL_TRUE_MIN
#define DBL_TRUE_MIN __DBL_TRUE_MIN__
#endif // DBL_TRUE_MIN

#ifndef LDBL_TRUE_MIN
#define LDBL_TRUE_MIN __LDBL_TRUE_MIN__
#endif // LDBL_TRUE_MIN

#ifndef FLT_EPSILON
#define FLT_EPSILON __FLT_EPSILON__
#endif // FLT_EPSILON

#ifndef DBL_EPSILON
#define DBL_EPSILON __DBL_EPSILON__
#endif // DBL_EPSILON

#ifndef LDBL_EPSILON
#define LDBL_EPSILON __LDBL_EPSILON__
#endif // LDBL_EPSILON

#ifndef FLT_MIN_EXP
#define FLT_MIN_EXP __FLT_MIN_EXP__
#endif // FLT_MIN_EXP

#ifndef DBL_MIN_EXP
#define DBL_MIN_EXP __DBL_MIN_EXP__
#endif // DBL_MIN_EXP

#ifndef LDBL_MIN_EXP
#define LDBL_MIN_EXP __LDBL_MIN_EXP__
#endif // LDBL_MIN_EXP

#ifndef FLT_MIN_10_EXP
#define FLT_MIN_10_EXP __FLT_MIN_10_EXP__
#endif // FLT_MIN_10_EXP

#ifndef DBL_MIN_10_EXP
#define DBL_MIN_10_EXP __DBL_MIN_10_EXP__
#endif // DBL_MIN_10_EXP

#ifndef LDBL_MIN_10_EXP
#define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
#endif // LDBL_MIN_10_EXP

#ifndef FLT_MAX_EXP
#define FLT_MAX_EXP __FLT_MAX_EXP__
#endif // FLT_MAX_EXP

#ifndef DBL_MAX_EXP
#define DBL_MAX_EXP __DBL_MAX_EXP__
#endif // DBL_MAX_EXP

#ifndef LDBL_MAX_EXP
#define LDBL_MAX_EXP __LDBL_MAX_EXP__
#endif // LDBL_MAX_EXP

#ifndef FLT_MAX_10_EXP
#define FLT_MAX_10_EXP __FLT_MAX_10_EXP__
#endif // FLT_MAX_10_EXP

#ifndef DBL_MAX_10_EXP
#define DBL_MAX_10_EXP __DBL_MAX_10_EXP__
#endif // DBL_MAX_10_EXP

#ifndef LDBL_MAX_10_EXP
#define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
#endif // LDBL_MAX_10_EXP

// TODO: Add FLT16 and FLT128 constants.

#endif // LLVM_LIBC_FULL_BUILD

#endif // LLVM_LIBC_HDR_FLOAT_MACROS_H
Loading
Loading