This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.25-292-g4fc12f0
- From: gftg at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 9 May 2017 14:51:44 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.25-292-g4fc12f0
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 4fc12f0eda596b12fb27fb39ea4ac5e68ac4170e (commit)
via 26265c3bce73ca85a4b6976ba62dc2111b46e414 (commit)
from 695d7d138eda449678a1650a8b8b58181033353f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=4fc12f0eda596b12fb27fb39ea4ac5e68ac4170e
commit 4fc12f0eda596b12fb27fb39ea4ac5e68ac4170e
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date: Wed Jul 20 12:14:21 2016 -0500
Add support for testing __STDC_WANT_IEC_60559_TYPES_EXT__
This macro is defined by TS 18661-3 for supporting the _FloatN and
_FloatNx types, as well as the functions suffixed with fN.
* bits/libc-header-start.h:
(__GLIBC_USE_IEC_60559_TYPES_EXT): New macro.
* include/features.h: Describe __STDC_WANT_IEC_60559_TYPES_EXT__.
* manual/creature.texi: Likewise.
diff --git a/ChangeLog b/ChangeLog
index 6adf580..9f6a60c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,14 @@
2017-05-09 Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
+ * bits/libc-header-start.h:
+ (__GLIBC_USE_IEC_60559_TYPES_EXT): New macro.
+ * include/features.h: Describe __STDC_WANT_IEC_60559_TYPES_EXT__.
+ * manual/creature.texi: Likewise.
+
+2017-05-09 Paul E. Murphy <murphyp@linux.vnet.ibm.com>
+ Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
+
* math/Makefile:
(type-float128-suffix): New variable
(type-float128-routines): Likewise
diff --git a/bits/libc-header-start.h b/bits/libc-header-start.h
index 860225d..0ce16e2 100644
--- a/bits/libc-header-start.h
+++ b/bits/libc-header-start.h
@@ -59,3 +59,12 @@
#else
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0
#endif
+
+/* ISO/IEC TS 18661-3:2015 defines the
+ __STDC_WANT_IEC_60559_TYPES_EXT__ macro. */
+#undef __GLIBC_USE_IEC_60559_TYPES_EXT
+#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_TYPES_EXT__
+# define __GLIBC_USE_IEC_60559_TYPES_EXT 1
+#else
+# define __GLIBC_USE_IEC_60559_TYPES_EXT 0
+#endif
diff --git a/include/features.h b/include/features.h
index 7de4089..972cbd2 100644
--- a/include/features.h
+++ b/include/features.h
@@ -30,6 +30,8 @@
Extensions to ISO C11 from TS 18661-1:2014.
__STDC_WANT_IEC_60559_FUNCS_EXT__
Extensions to ISO C11 from TS 18661-4:2015.
+ __STDC_WANT_IEC_60559_TYPES_EXT__
+ Extensions to ISO C11 from TS 18661-3:2015.
_POSIX_SOURCE IEEE Std 1003.1.
_POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
diff --git a/manual/creature.texi b/manual/creature.texi
index 5048886..23218bb 100644
--- a/manual/creature.texi
+++ b/manual/creature.texi
@@ -192,6 +192,15 @@ enabled. Only some of the features from this TS are supported by
@end defvr
@comment (none)
+@comment ISO
+@defvr Macro __STDC_WANT_IEC_60559_TYPES_EXT__
+If you define this macro, features from ISO/IEC TS 18661-3:2015
+(Floating-point extensions for C: Interchange and extended types) are
+enabled. Only some of the features from this TS are supported by
+@theglibc{}.
+@end defvr
+
+@comment (none)
@comment GNU
@defvr Macro _GNU_SOURCE
If you define this macro, everything is included: @w{ISO C89}, @w{ISO
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=26265c3bce73ca85a4b6976ba62dc2111b46e414
commit 26265c3bce73ca85a4b6976ba62dc2111b46e414
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date: Fri Jul 15 14:05:51 2016 -0500
float128: Add _Float128 make bits to libm.
This adds the appropriate common bits for a platform to
enable float128 and expose ABI.
* math/Makefile:
(type-float128-suffix): New variable
(type-float128-routines): Likewise
(type-float128-yes): Likewise
(types): Append float128 if supported
(types-basic): New variable to control the use of templates for
float, double, and long double, but not for float128 or newer types.
(type-basic-foreach): Likewise.
* sysdeps/ieee754/float128/Makeconfig: New file.
* sysdeps/ieee754/float128/Versions: New file.
diff --git a/ChangeLog b/ChangeLog
index e53c4b0..6adf580 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2017-05-09 Paul E. Murphy <murphyp@linux.vnet.ibm.com>
+ Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
+
+ * math/Makefile:
+ (type-float128-suffix): New variable
+ (type-float128-routines): Likewise
+ (type-float128-yes): Likewise
+ (types): Append float128 if supported
+ (types-basic): New variable to control the use of templates for
+ float, double, and long double, but not for float128 or newer types.
+ (type-basic-foreach): Likewise.
+
+ * sysdeps/ieee754/float128/Makeconfig: New file.
+ * sysdeps/ieee754/float128/Versions: New file.
+
2017-05-09 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PRLIMIT64):
diff --git a/math/Makefile b/math/Makefile
index 97080a7..634c619 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -100,7 +100,7 @@ libm-compat-calls = \
# Finally, note that types is an intentionally recursive variable.
# We only know the full set of supported types for the target machine
# after the Rules makefile has been parsed.
-types = $(type-ldouble-$(long-double-fcts)) double float
+types-basic = $(type-ldouble-$(long-double-fcts)) double float
# long double support
type-ldouble-suffix := l
@@ -117,12 +117,23 @@ type-double-routines := branred doasin dosincos halfulp mpa mpatan2 \
type-float-suffix := f
type-float-routines := k_rem_pio2f
+# _Float128 support
+type-float128-suffix := f128
+type-float128-routines := t_sincosf128 k_sincosf128
+type-float128-yes := float128
+types = $(types-basic) $(type-float128-$(float128-fcts))
+
+# For each of the basic types (float, double, long double), replace the
+# occurrences of 'F' in arg 1 with the appropriate suffix for the type.
+type-basic-foreach = $(foreach t, $(types-basic), \
+ $(subst F,$(type-$(t)-suffix),$(1)))
# Apply suffix to each type in arg 1
type-foreach = $(foreach t,$(types),$(subst F,$(type-$(t)-suffix),$(1)))
libm-routines = $(strip $(libm-support) \
- $(call type-foreach, $(libm-compat-calls)) \
+ $(call type-basic-foreach, \
+ $(libm-compat-calls)) \
$(call type-foreach, $(libm-calls)) \
$(foreach t, $(types), $(type-$(t)-routines))) \
@@ -543,6 +554,7 @@ endif
CFLAGS-s_modf.c += -fsignaling-nans
CFLAGS-s_modff.c += -fsignaling-nans
CFLAGS-s_modfl.c += -fsignaling-nans
+CFLAGS-s_modff128.c += -fsignaling-nans
# The -lieee library is actually an object file.
# The module just defines the _LIB_VERSION_ variable.
diff --git a/sysdeps/ieee754/float128/Makeconfig b/sysdeps/ieee754/float128/Makeconfig
new file mode 100644
index 0000000..6c385d2
--- /dev/null
+++ b/sysdeps/ieee754/float128/Makeconfig
@@ -0,0 +1,3 @@
+# Include this earlier so it can be used earlier in Makefiles,
+# and sysdep/ makefiles.
+float128-fcts = yes
diff --git a/sysdeps/ieee754/float128/Versions b/sysdeps/ieee754/float128/Versions
new file mode 100644
index 0000000..9f431d9
--- /dev/null
+++ b/sysdeps/ieee754/float128/Versions
@@ -0,0 +1,145 @@
+%include <float128-abi.h>
+%ifndef FLOAT128_VERSION
+% error "float128-abi.h must define FLOAT128_VERSION"
+%endif
+libm {
+ FLOAT128_VERSION {
+ __acosf128_finite;
+ __acoshf128_finite;
+ __asinf128_finite;
+ __atan2f128_finite;
+ __atanhf128_finite;
+ __coshf128_finite;
+ __exp10f128_finite;
+ __exp2f128_finite;
+ __expf128_finite;
+ __finitef128;
+ __fmodf128_finite;
+ __fpclassifyf128;
+ __gammaf128_r_finite;
+ __hypotf128_finite;
+ __iseqsigf128;
+ __isinff128;
+ __isnanf128;
+ __issignalingf128;
+ __j0f128_finite;
+ __j1f128_finite;
+ __jnf128_finite;
+ __lgammaf128_r_finite;
+ __log10f128_finite;
+ __log2f128_finite;
+ __logf128_finite;
+ __powf128_finite;
+ __remainderf128_finite;
+ __signbitf128;
+ __sinhf128_finite;
+ __sqrtf128_finite;
+ __y0f128_finite;
+ __y1f128_finite;
+ __ynf128_finite;
+ acosf128;
+ acoshf128;
+ asinf128;
+ asinhf128;
+ atan2f128;
+ atanf128;
+ atanhf128;
+ cabsf128;
+ cacosf128;
+ cacoshf128;
+ canonicalizef128;
+ cargf128;
+ casinf128;
+ casinhf128;
+ catanf128;
+ catanhf128;
+ cbrtf128;
+ ccosf128;
+ ccoshf128;
+ ceilf128;
+ cexpf128;
+ cimagf128;
+ clog10f128;
+ clogf128;
+ conjf128;
+ copysignf128;
+ cosf128;
+ coshf128;
+ cpowf128;
+ cprojf128;
+ crealf128;
+ csinf128;
+ csinhf128;
+ csqrtf128;
+ ctanf128;
+ ctanhf128;
+ erfcf128;
+ erff128;
+ exp10f128;
+ exp2f128;
+ expf128;
+ expm1f128;
+ fabsf128;
+ fdimf128;
+ floorf128;
+ fmaf128;
+ fmaxf128;
+ fmaxmagf128;
+ fminf128;
+ fminmagf128;
+ fmodf128;
+ frexpf128;
+ fromfpf128;
+ fromfpxf128;
+ getpayloadf128;
+ hypotf128;
+ ilogbf128;
+ j0f128;
+ j1f128;
+ jnf128;
+ ldexpf128;
+ lgammaf128;
+ lgammaf128_r;
+ llogbf128;
+ llrintf128;
+ llroundf128;
+ log10f128;
+ log1pf128;
+ log2f128;
+ logbf128;
+ logf128;
+ lrintf128;
+ lroundf128;
+ modff128;
+ nanf128;
+ nearbyintf128;
+ nextafterf128;
+ nextdownf128;
+ nextupf128;
+ powf128;
+ remainderf128;
+ remquof128;
+ rintf128;
+ roundevenf128;
+ roundf128;
+ scalblnf128;
+ scalbnf128;
+ setpayloadf128;
+ setpayloadsigf128;
+ sincosf128;
+ sinf128;
+ sinhf128;
+ sqrtf128;
+ tanf128;
+ tanhf128;
+ tgammaf128;
+ totalorderf128;
+ totalordermagf128;
+ truncf128;
+ ufromfpf128;
+ ufromfpxf128;
+ y0f128;
+ y1f128;
+ ynf128;
+ }
+}
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 23 ++++++
bits/libc-header-start.h | 9 ++
include/features.h | 2 +
manual/creature.texi | 9 ++
math/Makefile | 16 ++++-
sysdeps/ieee754/float128/Makeconfig | 3 +
sysdeps/ieee754/float128/Versions | 145 +++++++++++++++++++++++++++++++++++
7 files changed, 205 insertions(+), 2 deletions(-)
create mode 100644 sysdeps/ieee754/float128/Makeconfig
create mode 100644 sysdeps/ieee754/float128/Versions
hooks/post-receive
--
GNU C Library master sources