diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp index a452d4e9949d..8deb28d3fd9c 100644 --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp @@ -12,6 +12,7 @@ // denorm_min() #include +#include #include template @@ -47,7 +48,17 @@ int main() test<__int128_t>(0); test<__uint128_t>(0); #endif +#if defined(__FLT_DENORM_MIN__) // guarded because these macros are extensions. test(__FLT_DENORM_MIN__); test(__DBL_DENORM_MIN__); test(__LDBL_DENORM_MIN__); +#endif +#if defined(FLT_TRUE_MIN) // not currently provided on linux. + test(FLT_TRUE_MIN); + test(DBL_TRUE_MIN); + test(LDBL_TRUE_MIN); +#endif +#if !defined(__FLT_DENORM_MIN__) && !defined(FLT_TRUE_MIN) +#error Test has no expected values for floating point types +#endif }