|  | /* | 
|  | * Copyright (C) 2017 The Android Open Source Project | 
|  | * | 
|  | * Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | * you may not use this file except in compliance with the License. | 
|  | * You may obtain a copy of the License at | 
|  | * | 
|  | *      http://www.apache.org/licenses/LICENSE-2.0 | 
|  | * | 
|  | * Unless required by applicable law or agreed to in writing, software | 
|  | * distributed under the License is distributed on an "AS IS" BASIS, | 
|  | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | * See the License for the specific language governing permissions and | 
|  | * limitations under the License. | 
|  | */ | 
|  |  | 
|  | #include <gtest/gtest.h> | 
|  |  | 
|  | #include <float.h> | 
|  |  | 
|  | TEST(float_h, macros) { | 
|  | #if !defined(FLT_RADIX) | 
|  | #error FLT_RADIX | 
|  | #endif | 
|  | #if !defined(DECIMAL_DIG) | 
|  | #error DECIMAL_DIG | 
|  | #endif | 
|  | #if !defined(FLT_DECIMAL_DIG) | 
|  | #error FLT_DECIMAL_DIG | 
|  | #endif | 
|  | #if !defined(DBL_DECIMAL_DIG) | 
|  | #error DBL_DECIMAL_DIG | 
|  | #endif | 
|  | #if !defined(LDBL_DECIMAL_DIG) | 
|  | #error LDBL_DECIMAL_DIG | 
|  | #endif | 
|  | #if !defined(FLT_MIN) | 
|  | #error FLT_MIN | 
|  | #endif | 
|  | #if !defined(DBL_MIN) | 
|  | #error DBL_MIN | 
|  | #endif | 
|  | #if !defined(LDBL_MIN) | 
|  | #error LDBL_MIN | 
|  | #endif | 
|  | #if !defined(FLT_EPSILON) | 
|  | #error FLT_EPSILON | 
|  | #endif | 
|  | #if !defined(DBL_EPSILON) | 
|  | #error DBL_EPSILON | 
|  | #endif | 
|  | #if !defined(LDBL_EPSILON) | 
|  | #error LDBL_EPSILON | 
|  | #endif | 
|  | #if !defined(FLT_DIG) | 
|  | #error FLT_DIG | 
|  | #endif | 
|  | #if !defined(DBL_DIG) | 
|  | #error DBL_DIG | 
|  | #endif | 
|  | #if !defined(LDBL_DIG) | 
|  | #error LDBL_DIG | 
|  | #endif | 
|  | #if !defined(FLT_MANT_DIG) | 
|  | #error FLT_MANT_DIG | 
|  | #endif | 
|  | #if !defined(DBL_MANT_DIG) | 
|  | #error DBL_MANT_DIG | 
|  | #endif | 
|  | #if !defined(LDBL_MANT_DIG) | 
|  | #error LDBL_MANT_DIG | 
|  | #endif | 
|  | #if !defined(FLT_MIN_EXP) | 
|  | #error FLT_MIN_EXP | 
|  | #endif | 
|  | #if !defined(DBL_MIN_EXP) | 
|  | #error DBL_MIN_EXP | 
|  | #endif | 
|  | #if !defined(LDBL_MIN_EXP) | 
|  | #error LDBL_MIN_EXP | 
|  | #endif | 
|  | #if !defined(FLT_MIN_10_EXP) | 
|  | #error FLT_MIN_10_EXP | 
|  | #endif | 
|  | #if !defined(DBL_MIN_10_EXP) | 
|  | #error DBL_MIN_10_EXP | 
|  | #endif | 
|  | #if !defined(LDBL_MIN_10_EXP) | 
|  | #error LDBL_MIN_10_EXP | 
|  | #endif | 
|  | #if !defined(FLT_MAX_EXP) | 
|  | #error FLT_MAX_EXP | 
|  | #endif | 
|  | #if !defined(DBL_MAX_EXP) | 
|  | #error DBL_MAX_EXP | 
|  | #endif | 
|  | #if !defined(LDBL_MAX_EXP) | 
|  | #error LDBL_MAX_EXP | 
|  | #endif | 
|  | #if !defined(FLT_MAX_10_EXP) | 
|  | #error FLT_MAX_10_EXP | 
|  | #endif | 
|  | #if !defined(DBL_MAX_10_EXP) | 
|  | #error DBL_MAX_10_EXP | 
|  | #endif | 
|  | #if !defined(LDBL_MAX_10_EXP) | 
|  | #error LDBL_MAX_10_EXP | 
|  | #endif | 
|  | #if !defined(FLT_ROUNDS) | 
|  | #error FLT_ROUNDS | 
|  | #endif | 
|  | #if !defined(FLT_EVAL_METHOD) | 
|  | #error FLT_EVAL_METHOD | 
|  | #endif | 
|  | // TODO: FLT_HAS_SUBNORM currently missing from clang. Negate this test when fixed. | 
|  | #if defined(FLT_HAS_SUBNORM) | 
|  | #error FLT_HAS_SUBNORM | 
|  | #endif | 
|  | // TODO: DBL_HAS_SUBNORM currently missing from clang. Negate this test when fixed. | 
|  | #if defined(DBL_HAS_SUBNORM) | 
|  | #error DBL_HAS_SUBNORM | 
|  | #endif | 
|  | // TODO: LDBL_HAS_SUBNORM currently missing from clang. Negate this test when fixed. | 
|  | #if defined(LDBL_HAS_SUBNORM) | 
|  | #error LDBL_HAS_SUBNORM | 
|  | #endif | 
|  | } |