summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Headers/float.h6
-rw-r--r--clang/test/Headers/float.c24
2 files changed, 30 insertions, 0 deletions
diff --git a/clang/lib/Headers/float.h b/clang/lib/Headers/float.h
index c04cbbf47eb..56215cd624d 100644
--- a/clang/lib/Headers/float.h
+++ b/clang/lib/Headers/float.h
@@ -85,6 +85,9 @@
# undef FLT_DECIMAL_DIG
# undef DBL_DECIMAL_DIG
# undef LDBL_DECIMAL_DIG
+# undef FLT_HAS_SUBNORM
+# undef DBL_HAS_SUBNORM
+# undef LDBL_HAS_SUBNORM
# endif
#endif
@@ -141,6 +144,9 @@
# define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__
# define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__
# define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__
+# define FLT_HAS_SUBNORM __FLT_HAS_DENORM__
+# define DBL_HAS_SUBNORM __DBL_HAS_DENORM__
+# define LDBL_HAS_SUBNORM __LDBL_HAS_DENORM__
#endif
#ifdef __STDC_WANT_IEC_60559_TYPES_EXT__
diff --git a/clang/test/Headers/float.c b/clang/test/Headers/float.c
index 46e9cc3fd9b..74ebb8437f1 100644
--- a/clang/test/Headers/float.c
+++ b/clang/test/Headers/float.c
@@ -61,6 +61,21 @@
#if ((FLT_DECIMAL_DIG > DBL_DECIMAL_DIG) || (DBL_DECIMAL_DIG > LDBL_DECIMAL_DIG))
#error "Mandatory macros {FLT,DBL,LDBL}_DECIMAL_DIG are invalid."
#endif
+ #ifndef FLT_HAS_SUBNORM
+ #error "Mandatory macro FLT_HAS_SUBNORM is missing."
+ #elif FLT_HAS_SUBNORM != __FLT_HAS_DENORM__
+ #error "Mandatory macro FLT_HAS_SUBNORM is invalid."
+ #endif
+ #ifndef LDBL_HAS_SUBNORM
+ #error "Mandatory macro LDBL_HAS_SUBNORM is missing."
+ #elif LDBL_HAS_SUBNORM != __LDBL_HAS_DENORM__
+ #error "Mandatory macro LDBL_HAS_SUBNORM is invalid."
+ #endif
+ #ifndef DBL_HAS_SUBNORM
+ #error "Mandatory macro DBL_HAS_SUBNORM is missing."
+ #elif DBL_HAS_SUBNORM != __DBL_HAS_DENORM__
+ #error "Mandatory macro DBL_HAS_SUBNORM is invalid."
+ #endif
#else
#ifdef FLT_DECIMAL_DIG
#error "Macro FLT_DECIMAL_DIG should not be defined."
@@ -71,6 +86,15 @@
#ifdef LDBL_DECIMAL_DIG
#error "Macro LDBL_DECIMAL_DIG should not be defined."
#endif
+ #ifdef FLT_HAS_SUBNORM
+ #error "Macro FLT_HAS_SUBNORM should not be defined."
+ #endif
+ #ifdef DBL_HAS_SUBNORM
+ #error "Macro DBL_HAS_SUBNORM should not be defined."
+ #endif
+ #ifdef LDBL_HAS_SUBNORM
+ #error "Macro LDBL_HAS_SUBNORM should not be defined."
+ #endif
#endif
OpenPOWER on IntegriCloud