|
From: | Christian JULLIEN |
Subject: | [Tinycc-devel] aarch64: wrong constant values for float.h |
Date: | Wed, 15 Jul 2020 07:45:57 +0200 (CEST) |
/home/jullien/tinycc $ gcc -dM -E -xc /dev/null | grep LDBL
#define __LDBL_MANT_DIG__ 113
#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
#define __LDBL_MAX_EXP__ 16384
#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
#define __LDBL_HAS_QUIET_NAN__ 1
#define __LDBL_MIN_EXP__ (-16381)
#define __LDBL_HAS_DENORM__ 1
#define __LDBL_DECIMAL_DIG__ 36
#define __LDBL_HAS_INFINITY__ 1
#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
#define __LDBL_DIG__ 33
#define __LDBL_MAX_10_EXP__ 4932
#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
#define __LDBL_MIN_10_EXP__ (-4931)
#define __LDBL_NORM_MAX__ 1.18973149535723176508575932662800702e+4932L
/home/jullien/tinycc $
I think that float.h should be modified accordingly, is it Ok? (what are the risc-v values)
/home/jullien/tinycc $ git diff
diff --git a/include/float.h b/include/float.h
index f16f1f0..b461e4e 100644
--- a/include/float.h
+++ b/include/float.h
@@ -39,6 +39,22 @@
#define LDBL_MAX 1.18973149535723176502e+4932L
#define LDBL_MAX_10_EXP 4932
+#elif defined __aarch64__
+/*
+ * Use values from:
+ * gcc -dM -E -xc /dev/null | grep LDBL
+ */
+
+#define LDBL_MANT_DIG 113
+#define LDBL_DIG 33
+#define LDBL_EPSILON 1.92592994438723585305597794258492732e-34L
+#define LDBL_MIN_EXP (-16381)
+#define LDBL_MIN 3.36210314311209350626267781732175260e-4932L
+#define LDBL_MIN_10_EXP (-4931)
+#define LDBL_MAX_EXP 16384
+#define LDBL_MAX 1.18973149535723176508575932662800702e+4932L
+#define LDBL_MAX_EXP 16384
+
#else
/* same as IEEE double */
[Prev in Thread] | Current Thread | [Next in Thread] |