28 lines · c
1//===-- Detection of _Float16 compiler builtin type -----------------------===//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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_LIBC_MACROS_FLOAT16_MACROS_H10#define LLVM_LIBC_MACROS_FLOAT16_MACROS_H11 12#include "../llvm-libc-types/float128.h"13 14#if defined(__FLT16_MANT_DIG__) && \15 (!defined(__GNUC__) || __GNUC__ >= 13 || defined(__clang__)) && \16 !defined(__arm__) && !defined(_M_ARM) && !defined(__riscv) && \17 !defined(_WIN32)18#define LIBC_TYPES_HAS_FLOAT1619 20// TODO: This would no longer be required if HdrGen let us guard function21// declarations with multiple macros.22#ifdef LIBC_TYPES_HAS_FLOAT12823#define LIBC_TYPES_HAS_FLOAT16_AND_FLOAT12824#endif // LIBC_TYPES_HAS_FLOAT12825#endif26 27#endif // LLVM_LIBC_MACROS_FLOAT16_MACROS_H28