This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]