Fix definition of INFINITY and add NAN/HUGE_VAL[F]
authorAaron Watry <awatry@gmail.com>
Mon, 16 Jun 2014 22:32:58 +0000 (22:32 +0000)
committerAaron Watry <awatry@gmail.com>
Mon, 16 Jun 2014 22:32:58 +0000 (22:32 +0000)
v3: change __builtin_nanf() to __builtin_nanf("")
    This doesn't work yet, but it was agreed to commit as-is with the logic
    that "broken" is better than "completely missing" and this should be
    fixed in clang.

v2: use __builtin_inff() and also add nan/huge_val definitions

Signed-off-by: Aaron Watry <awatry@gmail.com>
llvm-svn: 211065

libclc/generic/include/clc/float/definitions.h
libclc/generic/lib/gen_convert.py

index 0fb0edf..c395964 100644 (file)
@@ -1,3 +1,7 @@
+#define INFINITY __builtin_inff()
+#define NAN __builtin_nanf("")
+#define HUGE_VALF __builtin_huge_valf()
+
 #define FLT_DIG         6
 #define FLT_MANT_DIG    24
 #define FLT_MAX_10_EXP  +38
@@ -25,6 +29,8 @@
 
 #ifdef cl_khr_fp64
 
+#define HUGE_VAL __builtin_huge_val()
+
 #define DBL_DIG         15
 #define DBL_MANT_DIG    53
 #define DBL_MAX_10_EXP  +308
index 8e54f0c..f91a89a 100644 (file)
@@ -144,8 +144,6 @@ print("""/* !!!! AUTOGENERATED FILE generated by convert_type.py !!!!!
 #pragma OPENCL EXTENSION cl_khr_fp64 : enable
 #endif
 
-#define INFINITY 1.0f / 0.0f
-
 """)
 
 #