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.26.9000-783-g015c6dc


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  015c6dc288003cd6b192f5901a8df2ea16205ee4 (commit)
      from  ce003e5d4cd94c5380699b0dadeaaf825813afbe (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=015c6dc288003cd6b192f5901a8df2ea16205ee4

commit 015c6dc288003cd6b192f5901a8df2ea16205ee4
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Nov 17 22:01:43 2017 +0000

    Support bits/floatn.h inclusion from .S files.
    
    Further _FloatN / _FloatNx type alias support will involve making
    architecture-specific .S files use the common macros for libm function
    aliases.  Making them use those macros will also serve to simplify
    existing code for aliases / symbol versions in various cases, similar
    to such simplifications for ldbl-opt code.
    
    The libm-alias-*.h files sometimes need to include <bits/floatn.h> to
    determine which aliases they should define.  At present, this does not
    work for inclusion from .S files because <bits/floatn.h> can define
    typedefs for old compilers.  This patch changes all the
    <bits/floatn.h> and <bits/floatn-common.h> headers to include
    __ASSEMBLER__ conditionals.  Those conditionals disable everything
    related to C syntax in the __ASSEMBLER__ case, not just the problem
    typedefs, as that seemed cleanest.  The __HAVE_* definitions remain in
    the __ASSEMBLER__ case, as those provide information that is required
    to define the correct set of aliases.
    
    Tested with build-many-glibcs.py for a representative set of
    configurations (x86_64-linux-gnu i686-linux-gnu ia64-linux-gnu
    powerpc64le-linux-gnu mips64-linux-gnu-n64 sparc64-linux-gnu) with GCC
    6.  Also tested with GCC 6 for i686-linux-gnu in conjunction with
    changes to use alias macros in .S files.
    
    	* bits/floatn-common.h [!__ASSEMBLER]: Disable everything related
    	to C syntax instead of availability and properties of types.
    	* bits/floatn.h [!__ASSEMBLER]: Likewise.
    	* sysdeps/ia64/bits/floatn.h [!__ASSEMBLER]: Likewise.
    	* sysdeps/ieee754/ldbl-128/bits/floatn.h [!__ASSEMBLER]: Likewise.
    	* sysdeps/mips/ieee754/bits/floatn.h [!__ASSEMBLER]: Likewise.
    	* sysdeps/powerpc/bits/floatn.h [!__ASSEMBLER]: Likewise.
    	* sysdeps/x86/bits/floatn.h [!__ASSEMBLER]: Likewise.

diff --git a/ChangeLog b/ChangeLog
index a553097..29cb084 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2017-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+	* bits/floatn-common.h [!__ASSEMBLER]: Disable everything related
+	to C syntax instead of availability and properties of types.
+	* bits/floatn.h [!__ASSEMBLER]: Likewise.
+	* sysdeps/ia64/bits/floatn.h [!__ASSEMBLER]: Likewise.
+	* sysdeps/ieee754/ldbl-128/bits/floatn.h [!__ASSEMBLER]: Likewise.
+	* sysdeps/mips/ieee754/bits/floatn.h [!__ASSEMBLER]: Likewise.
+	* sysdeps/powerpc/bits/floatn.h [!__ASSEMBLER]: Likewise.
+	* sysdeps/x86/bits/floatn.h [!__ASSEMBLER]: Likewise.
+
 2017-11-17  Florian Weimer  <fweimer@redhat.com>
 
 	support_become_root: Enable file creation in namespaces.
diff --git a/bits/floatn-common.h b/bits/floatn-common.h
index 1b3ab51..2182c9d 100644
--- a/bits/floatn-common.h
+++ b/bits/floatn-common.h
@@ -71,222 +71,226 @@
 # define __HAVE_FLOATN_NOT_TYPEDEF 0
 #endif
 
+#ifndef __ASSEMBLER__
+
 /* Defined to concatenate the literal suffix to be used with _FloatN
    or _FloatNx types, if __HAVE_<type> is 1.  The corresponding
    literal suffixes exist since GCC 7, for C only.  */
-#if __HAVE_FLOAT16
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# if __HAVE_FLOAT16
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 /* No corresponding suffix available for this type.  */
-#  define __f16(x) ((_Float16) x##f)
-# else
-#  define __f16(x) x##f16
+#   define __f16(x) ((_Float16) x##f)
+#  else
+#   define __f16(x) x##f16
+#  endif
 # endif
-#endif
 
-#if __HAVE_FLOAT32
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  define __f32(x) x##f
-# else
-#  define __f32(x) x##f32
+# if __HAVE_FLOAT32
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   define __f32(x) x##f
+#  else
+#   define __f32(x) x##f32
+#  endif
 # endif
-#endif
 
-#if __HAVE_FLOAT64
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  define __f64(x) x
-# else
-#  define __f64(x) x##f64
+# if __HAVE_FLOAT64
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   define __f64(x) x
+#  else
+#   define __f64(x) x##f64
+#  endif
 # endif
-#endif
 
-#if __HAVE_FLOAT32X
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  define __f32x(x) x
-# else
-#  define __f32x(x) x##f32x
+# if __HAVE_FLOAT32X
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   define __f32x(x) x
+#  else
+#   define __f32x(x) x##f32x
+#  endif
 # endif
-#endif
 
-#if __HAVE_FLOAT64X
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  if __HAVE_FLOAT64X_LONG_DOUBLE
-#   define __f64x(x) x##l
+# if __HAVE_FLOAT64X
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   if __HAVE_FLOAT64X_LONG_DOUBLE
+#    define __f64x(x) x##l
+#   else
+#    define __f64x(x) __f128 (x)
+#   endif
 #  else
-#   define __f64x(x) __f128 (x)
+#   define __f64x(x) x##f64x
 #  endif
-# else
-#  define __f64x(x) x##f64x
 # endif
-#endif
 
-#if __HAVE_FLOAT128X
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  error "_Float128X supported but no constant suffix"
-# else
-#  define __f128x(x) x##f128x
+# if __HAVE_FLOAT128X
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   error "_Float128X supported but no constant suffix"
+#  else
+#   define __f128x(x) x##f128x
+#  endif
 # endif
-#endif
 
 /* Defined to a complex type if __HAVE_<type> is 1.  */
-#if __HAVE_FLOAT16
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# if __HAVE_FLOAT16
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__)));
-#  define __CFLOAT16 __cfloat16
-# else
-#  define __CFLOAT16 _Complex _Float16
+#   define __CFLOAT16 __cfloat16
+#  else
+#   define __CFLOAT16 _Complex _Float16
+#  endif
 # endif
-#endif
 
-#if __HAVE_FLOAT32
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  define __CFLOAT32 _Complex float
-# else
-#  define __CFLOAT32 _Complex _Float32
+# if __HAVE_FLOAT32
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   define __CFLOAT32 _Complex float
+#  else
+#   define __CFLOAT32 _Complex _Float32
+#  endif
 # endif
-#endif
 
-#if __HAVE_FLOAT64
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  define __CFLOAT64 _Complex double
-# else
-#  define __CFLOAT64 _Complex _Float64
+# if __HAVE_FLOAT64
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   define __CFLOAT64 _Complex double
+#  else
+#   define __CFLOAT64 _Complex _Float64
+#  endif
 # endif
-#endif
 
-#if __HAVE_FLOAT32X
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  define __CFLOAT32X _Complex double
-# else
-#  define __CFLOAT32X _Complex _Float32x
+# if __HAVE_FLOAT32X
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   define __CFLOAT32X _Complex double
+#  else
+#   define __CFLOAT32X _Complex _Float32x
+#  endif
 # endif
-#endif
 
-#if __HAVE_FLOAT64X
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  if __HAVE_FLOAT64X_LONG_DOUBLE
-#   define __CFLOAT64X _Complex long double
+# if __HAVE_FLOAT64X
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   if __HAVE_FLOAT64X_LONG_DOUBLE
+#    define __CFLOAT64X _Complex long double
+#   else
+#    define __CFLOAT64X __CFLOAT128
+#   endif
 #  else
-#   define __CFLOAT64X __CFLOAT128
+#   define __CFLOAT64X _Complex _Float64x
 #  endif
-# else
-#  define __CFLOAT64X _Complex _Float64x
 # endif
-#endif
 
-#if __HAVE_FLOAT128X
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  error "_Float128X supported but no complex type"
-# else
-#  define __CFLOAT128X _Complex _Float128x
+# if __HAVE_FLOAT128X
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   error "_Float128X supported but no complex type"
+#  else
+#   define __CFLOAT128X _Complex _Float128x
+#  endif
 # endif
-#endif
 
 /* The remaining of this file provides support for older compilers.  */
-#if __HAVE_FLOAT16
+# if __HAVE_FLOAT16
 
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef float _Float16 __attribute__ ((__mode__ (__HF__)));
-# endif
+#  endif
 
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_huge_valf16() ((_Float16) __builtin_huge_val ())
-#  define __builtin_inff16() ((_Float16) __builtin_inf ())
-#  define __builtin_nanf16(x) ((_Float16) __builtin_nan (x))
-#  define __builtin_nansf16(x) ((_Float16) __builtin_nans (x))
-# endif
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_huge_valf16() ((_Float16) __builtin_huge_val ())
+#   define __builtin_inff16() ((_Float16) __builtin_inf ())
+#   define __builtin_nanf16(x) ((_Float16) __builtin_nan (x))
+#   define __builtin_nansf16(x) ((_Float16) __builtin_nans (x))
+#  endif
 
-#endif
+# endif
 
-#if __HAVE_FLOAT32
+# if __HAVE_FLOAT32
 
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef float _Float32;
-# endif
+#  endif
 
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_huge_valf32() (__builtin_huge_valf ())
-#  define __builtin_inff32() (__builtin_inff ())
-#  define __builtin_nanf32(x) (__builtin_nanf (x))
-#  define __builtin_nansf32(x) (__builtin_nansf (x))
-# endif
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_huge_valf32() (__builtin_huge_valf ())
+#   define __builtin_inff32() (__builtin_inff ())
+#   define __builtin_nanf32(x) (__builtin_nanf (x))
+#   define __builtin_nansf32(x) (__builtin_nansf (x))
+#  endif
 
-#endif
+# endif
 
-#if __HAVE_FLOAT64
+# if __HAVE_FLOAT64
 
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef double _Float64;
-# endif
+#  endif
 
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_huge_valf64() (__builtin_huge_val ())
-#  define __builtin_inff64() (__builtin_inf ())
-#  define __builtin_nanf64(x) (__builtin_nan (x))
-#  define __builtin_nansf64(x) (__builtin_nans (x))
-# endif
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_huge_valf64() (__builtin_huge_val ())
+#   define __builtin_inff64() (__builtin_inf ())
+#   define __builtin_nanf64(x) (__builtin_nan (x))
+#   define __builtin_nansf64(x) (__builtin_nans (x))
+#  endif
 
-#endif
+# endif
 
-#if __HAVE_FLOAT32X
+# if __HAVE_FLOAT32X
 
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef double _Float32x;
-# endif
+#  endif
 
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_huge_valf32x() (__builtin_huge_val ())
-#  define __builtin_inff32x() (__builtin_inf ())
-#  define __builtin_nanf32x(x) (__builtin_nan (x))
-#  define __builtin_nansf32x(x) (__builtin_nans (x))
-# endif
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_huge_valf32x() (__builtin_huge_val ())
+#   define __builtin_inff32x() (__builtin_inf ())
+#   define __builtin_nanf32x(x) (__builtin_nan (x))
+#   define __builtin_nansf32x(x) (__builtin_nans (x))
+#  endif
 
-#endif
+# endif
 
-#if __HAVE_FLOAT64X
+# if __HAVE_FLOAT64X
 
-# if __HAVE_FLOAT64X_LONG_DOUBLE
+#  if __HAVE_FLOAT64X_LONG_DOUBLE
 
-#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef long double _Float64x;
-#  endif
+#   endif
 
-#  if !__GNUC_PREREQ (7, 0)
-#   define __builtin_huge_valf64x() (__builtin_huge_vall ())
-#   define __builtin_inff64x() (__builtin_infl ())
-#   define __builtin_nanf64x(x) (__builtin_nanl (x))
-#   define __builtin_nansf64x(x) (__builtin_nansl (x))
-#  endif
+#   if !__GNUC_PREREQ (7, 0)
+#    define __builtin_huge_valf64x() (__builtin_huge_vall ())
+#    define __builtin_inff64x() (__builtin_infl ())
+#    define __builtin_nanf64x(x) (__builtin_nanl (x))
+#    define __builtin_nansf64x(x) (__builtin_nansl (x))
+#   endif
 
-# else
+#  else
 
-#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef _Float128 _Float64x;
-#  endif
+#   endif
+
+#   if !__GNUC_PREREQ (7, 0)
+#    define __builtin_huge_valf64x() (__builtin_huge_valf128 ())
+#    define __builtin_inff64x() (__builtin_inff128 ())
+#    define __builtin_nanf64x(x) (__builtin_nanf128 (x))
+#    define __builtin_nansf64x(x) (__builtin_nansf128 (x))
+#   endif
 
-#  if !__GNUC_PREREQ (7, 0)
-#   define __builtin_huge_valf64x() (__builtin_huge_valf128 ())
-#   define __builtin_inff64x() (__builtin_inff128 ())
-#   define __builtin_nanf64x(x) (__builtin_nanf128 (x))
-#   define __builtin_nansf64x(x) (__builtin_nansf128 (x))
 #  endif
 
 # endif
 
-#endif
+# if __HAVE_FLOAT128X
 
-#if __HAVE_FLOAT128X
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   error "_Float128x supported but no type"
+#  endif
 
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  error "_Float128x supported but no type"
-# endif
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_huge_valf128x() ((_Float128x) __builtin_huge_val ())
+#   define __builtin_inff128x() ((_Float128x) __builtin_inf ())
+#   define __builtin_nanf128x(x) ((_Float128x) __builtin_nan (x))
+#   define __builtin_nansf128x(x) ((_Float128x) __builtin_nans (x))
+#  endif
 
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_huge_valf128x() ((_Float128x) __builtin_huge_val ())
-#  define __builtin_inff128x() ((_Float128x) __builtin_inf ())
-#  define __builtin_nanf128x(x) ((_Float128x) __builtin_nan (x))
-#  define __builtin_nansf128x(x) ((_Float128x) __builtin_nans (x))
 # endif
 
-#endif
+#endif /* !__ASSEMBLER__.  */
 
 #endif /* _BITS_FLOATN_COMMON_H */
diff --git a/bits/floatn.h b/bits/floatn.h
index 78eb0f4..dc0cf93 100644
--- a/bits/floatn.h
+++ b/bits/floatn.h
@@ -25,13 +25,17 @@
    from the default float, double and long double types in this glibc.  */
 #define __HAVE_DISTINCT_FLOAT128 0
 
+#ifndef __ASSEMBLER__
+
 /* Defined to concatenate the literal suffix to be used with _Float128
    types, if __HAVE_FLOAT128 is 1.
    E.g.: #define __f128(x) x##f128.  */
-#undef __f128
+# undef __f128
 
 /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
    E.g.: #define __CFLOAT128 _Complex _Float128.  */
-#undef __CFLOAT128
+# undef __CFLOAT128
+
+#endif /* !__ASSEMBLER__.  */
 
 #include <bits/floatn-common.h>
diff --git a/sysdeps/ia64/bits/floatn.h b/sysdeps/ia64/bits/floatn.h
index a88d0f9..d0aeb3f 100644
--- a/sysdeps/ia64/bits/floatn.h
+++ b/sysdeps/ia64/bits/floatn.h
@@ -40,64 +40,68 @@
 # define __HAVE_DISTINCT_FLOAT128 0
 #endif
 
+#ifndef __ASSEMBLER__
+
 /* Defined to concatenate the literal suffix to be used with _Float128
    types, if __HAVE_FLOAT128 is 1. */
-#if __HAVE_FLOAT128
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# if __HAVE_FLOAT128
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 /* The literal suffix f128 exists only since GCC 7.0.  */
-#  define __f128(x) x##q
-# else
-#  define __f128(x) x##f128
+#   define __f128(x) x##q
+#  else
+#   define __f128(x) x##f128
+#  endif
 # endif
-#endif
 
 /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.  */
-#if __HAVE_FLOAT128
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# if __HAVE_FLOAT128
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 /* Add a typedef for older GCC compilers which don't natively support
    _Complex _Float128.  */
 typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
-#  define __CFLOAT128 __cfloat128
-# else
-#  define __CFLOAT128 _Complex _Float128
+#   define __CFLOAT128 __cfloat128
+#  else
+#   define __CFLOAT128 _Complex _Float128
+#  endif
 # endif
-#endif
 
 /* The remaining of this file provides support for older compilers.  */
-#if __HAVE_FLOAT128
+# if __HAVE_FLOAT128
 
 /* The type _Float128 exists only since GCC 7.0.  */
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef __float128 _Float128;
-# endif
+#  endif
 
 /* __builtin_huge_valf128 doesn't exist before GCC 7.0.  */
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
-# endif
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
+#  endif
 
 /* Older GCC has only a subset of built-in functions for _Float128 on
    ia64, and __builtin_infq is not usable in static initializers.
    Converting a narrower sNaN to _Float128 produces a quiet NaN, so
    attempts to use _Float128 sNaNs will not work properly with older
    compilers.  */
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_copysignf128 __builtin_copysignq
-#  define __builtin_fabsf128 __builtin_fabsq
-#  define __builtin_inff128() ((_Float128) __builtin_inf ())
-#  define __builtin_nanf128(x) ((_Float128) __builtin_nan (x))
-#  define __builtin_nansf128(x) ((_Float128) __builtin_nans (x))
-# endif
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_copysignf128 __builtin_copysignq
+#   define __builtin_fabsf128 __builtin_fabsq
+#   define __builtin_inff128() ((_Float128) __builtin_inf ())
+#   define __builtin_nanf128(x) ((_Float128) __builtin_nan (x))
+#   define __builtin_nansf128(x) ((_Float128) __builtin_nans (x))
+#  endif
 
 /* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
    e.g.: __builtin_signbitf128, before GCC 6.  However, there has never
    been a __builtin_signbitf128 in GCC and the type-generic builtin is
    only available since GCC 6.  */
-# if !__GNUC_PREREQ (6, 0)
-#  define __builtin_signbitf128 __signbitf128
+#  if !__GNUC_PREREQ (6, 0)
+#   define __builtin_signbitf128 __signbitf128
+#  endif
+
 # endif
 
-#endif
+#endif /* !__ASSEMBLER__.  */
 
 #include <bits/floatn-common.h>
 
diff --git a/sysdeps/ieee754/ldbl-128/bits/floatn.h b/sysdeps/ieee754/ldbl-128/bits/floatn.h
index eab72cf..01009f0 100644
--- a/sysdeps/ieee754/ldbl-128/bits/floatn.h
+++ b/sysdeps/ieee754/ldbl-128/bits/floatn.h
@@ -39,43 +39,47 @@
    from the default float, double and long double types in this glibc.  */
 #define __HAVE_DISTINCT_FLOAT128 0
 
+#ifndef __ASSEMBLER__
+
 /* Defined to concatenate the literal suffix to be used with _Float128
    types, if __HAVE_FLOAT128 is 1. */
-#if __HAVE_FLOAT128
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# if __HAVE_FLOAT128
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 /* The literal suffix f128 exists only since GCC 7.0.  */
-#  define __f128(x) x##l
-# else
-#  define __f128(x) x##f128
+#   define __f128(x) x##l
+#  else
+#   define __f128(x) x##f128
+#  endif
 # endif
-#endif
 
 /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.  */
-#if __HAVE_FLOAT128
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  define __CFLOAT128 _Complex long double
-# else
-#  define __CFLOAT128 _Complex _Float128
+# if __HAVE_FLOAT128
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   define __CFLOAT128 _Complex long double
+#  else
+#   define __CFLOAT128 _Complex _Float128
+#  endif
 # endif
-#endif
 
 /* The remaining of this file provides support for older compilers.  */
-#if __HAVE_FLOAT128
+# if __HAVE_FLOAT128
 
 /* The type _Float128 exists only since GCC 7.0.  */
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef long double _Float128;
-# endif
+#  endif
 
 /* Various built-in functions do not exist before GCC 7.0.  */
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_huge_valf128() (__builtin_huge_vall ())
-#  define __builtin_inff128() (__builtin_infl ())
-#  define __builtin_nanf128(x) (__builtin_nanl (x))
-#  define __builtin_nansf128(x) (__builtin_nansl (x))
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_huge_valf128() (__builtin_huge_vall ())
+#   define __builtin_inff128() (__builtin_infl ())
+#   define __builtin_nanf128(x) (__builtin_nanl (x))
+#   define __builtin_nansf128(x) (__builtin_nansl (x))
+#  endif
+
 # endif
 
-#endif
+#endif /* !__ASSEMBLER__.  */
 
 #include <bits/floatn-common.h>
 
diff --git a/sysdeps/mips/ieee754/bits/floatn.h b/sysdeps/mips/ieee754/bits/floatn.h
index 957343d..4131991 100644
--- a/sysdeps/mips/ieee754/bits/floatn.h
+++ b/sysdeps/mips/ieee754/bits/floatn.h
@@ -39,43 +39,47 @@
    from the default float, double and long double types in this glibc.  */
 #define __HAVE_DISTINCT_FLOAT128 0
 
+#ifndef __ASSEMBLER__
+
 /* Defined to concatenate the literal suffix to be used with _Float128
    types, if __HAVE_FLOAT128 is 1. */
-#if __HAVE_FLOAT128
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# if __HAVE_FLOAT128
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 /* The literal suffix f128 exists only since GCC 7.0.  */
-#  define __f128(x) x##l
-# else
-#  define __f128(x) x##f128
+#   define __f128(x) x##l
+#  else
+#   define __f128(x) x##f128
+#  endif
 # endif
-#endif
 
 /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.  */
-#if __HAVE_FLOAT128
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-#  define __CFLOAT128 _Complex long double
-# else
-#  define __CFLOAT128 _Complex _Float128
+# if __HAVE_FLOAT128
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#   define __CFLOAT128 _Complex long double
+#  else
+#   define __CFLOAT128 _Complex _Float128
+#  endif
 # endif
-#endif
 
 /* The remaining of this file provides support for older compilers.  */
-#if __HAVE_FLOAT128
+# if __HAVE_FLOAT128
 
 /* The type _Float128 exists only since GCC 7.0.  */
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef long double _Float128;
-# endif
+#  endif
 
 /* Various built-in functions do not exist before GCC 7.0.  */
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_huge_valf128() (__builtin_huge_vall ())
-#  define __builtin_inff128() (__builtin_infl ())
-#  define __builtin_nanf128(x) (__builtin_nanl (x))
-#  define __builtin_nansf128(x) (__builtin_nansl (x))
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_huge_valf128() (__builtin_huge_vall ())
+#   define __builtin_inff128() (__builtin_infl ())
+#   define __builtin_nanf128(x) (__builtin_nanl (x))
+#   define __builtin_nansf128(x) (__builtin_nansl (x))
+#  endif
+
 # endif
 
-#endif
+#endif /* !__ASSEMBLER__.  */
 
 #include <bits/floatn-common.h>
 
diff --git a/sysdeps/powerpc/bits/floatn.h b/sysdeps/powerpc/bits/floatn.h
index a293bfc..09a1c30 100644
--- a/sysdeps/powerpc/bits/floatn.h
+++ b/sysdeps/powerpc/bits/floatn.h
@@ -40,63 +40,67 @@
 # define __HAVE_DISTINCT_FLOAT128 0
 #endif
 
+#ifndef __ASSEMBLER__
+
 /* Defined to concatenate the literal suffix to be used with _Float128
    types, if __HAVE_FLOAT128 is 1. */
-#if __HAVE_FLOAT128
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# if __HAVE_FLOAT128
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 /* The literal suffix (f128) exist for powerpc only since GCC 7.0.  */
-#  define __f128(x) x##q
-# else
-#  define __f128(x) x##f128
+#   define __f128(x) x##q
+#  else
+#   define __f128(x) x##f128
+#  endif
 # endif
-#endif
 
 /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.  */
-#if __HAVE_FLOAT128
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# if __HAVE_FLOAT128
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 /* Add a typedef for older GCC compilers which don't natively support
    _Complex _Float128.  */
 typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__)));
-#  define __CFLOAT128 __cfloat128
-# else
-#  define __CFLOAT128 _Complex _Float128
+#   define __CFLOAT128 __cfloat128
+#  else
+#   define __CFLOAT128 _Complex _Float128
+#  endif
 # endif
-#endif
 
 /* The remaining of this file provides support for older compilers.  */
-#if __HAVE_FLOAT128
+# if __HAVE_FLOAT128
 
 /* The type _Float128 exist for powerpc only since GCC 7.0.  */
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef __float128 _Float128;
-# endif
+#  endif
 
 /* Builtin __builtin_huge_valf128 doesn't exist before GCC 7.0.  */
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
-# endif
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
+#  endif
 
 /* The following builtins (suffixed with 'q') are available in GCC >= 6.2,
    which is the minimum version required for float128 support on powerpc64le.
    Since GCC 7.0 the builtins suffixed with f128 are also available, then
    there is no need to redefined them.  */
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_copysignf128 __builtin_copysignq
-#  define __builtin_fabsf128 __builtin_fabsq
-#  define __builtin_inff128 __builtin_infq
-#  define __builtin_nanf128 __builtin_nanq
-#  define __builtin_nansf128 __builtin_nansq
-# endif
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_copysignf128 __builtin_copysignq
+#   define __builtin_fabsf128 __builtin_fabsq
+#   define __builtin_inff128 __builtin_infq
+#   define __builtin_nanf128 __builtin_nanq
+#   define __builtin_nansf128 __builtin_nansq
+#  endif
 
 /* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
    e.g.: __builtin_signbitf128, before GCC 6.  However, there has never
    been a __builtin_signbitf128 in GCC and the type-generic builtin is
    only available since GCC 6.  */
-# if !__GNUC_PREREQ (6, 0)
-#  define __builtin_signbitf128 __signbitf128
+#  if !__GNUC_PREREQ (6, 0)
+#   define __builtin_signbitf128 __signbitf128
+#  endif
+
 # endif
 
-#endif
+#endif /* !__ASSEMBLER__.  */
 
 #include <bits/floatn-common.h>
 
diff --git a/sysdeps/x86/bits/floatn.h b/sysdeps/x86/bits/floatn.h
index 5a21fd4..5ca6bba 100644
--- a/sysdeps/x86/bits/floatn.h
+++ b/sysdeps/x86/bits/floatn.h
@@ -42,64 +42,68 @@
 # define __HAVE_DISTINCT_FLOAT128 0
 #endif
 
+#ifndef __ASSEMBLER__
+
 /* Defined to concatenate the literal suffix to be used with _Float128
    types, if __HAVE_FLOAT128 is 1. */
-#if __HAVE_FLOAT128
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# if __HAVE_FLOAT128
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 /* The literal suffix f128 exists only since GCC 7.0.  */
-#  define __f128(x) x##q
-# else
-#  define __f128(x) x##f128
+#   define __f128(x) x##q
+#  else
+#   define __f128(x) x##f128
+#  endif
 # endif
-#endif
 
 /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.  */
-#if __HAVE_FLOAT128
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# if __HAVE_FLOAT128
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 /* Add a typedef for older GCC compilers which don't natively support
    _Complex _Float128.  */
 typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
-#  define __CFLOAT128 __cfloat128
-# else
-#  define __CFLOAT128 _Complex _Float128
+#   define __CFLOAT128 __cfloat128
+#  else
+#   define __CFLOAT128 _Complex _Float128
+#  endif
 # endif
-#endif
 
 /* The remaining of this file provides support for older compilers.  */
-#if __HAVE_FLOAT128
+# if __HAVE_FLOAT128
 
 /* The type _Float128 exists only since GCC 7.0.  */
-# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+#  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef __float128 _Float128;
-# endif
+#  endif
 
 /* __builtin_huge_valf128 doesn't exist before GCC 7.0.  */
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
-# endif
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
+#  endif
 
 /* Older GCC has only a subset of built-in functions for _Float128 on
    x86, and __builtin_infq is not usable in static initializers.
    Converting a narrower sNaN to _Float128 produces a quiet NaN, so
    attempts to use _Float128 sNaNs will not work properly with older
    compilers.  */
-# if !__GNUC_PREREQ (7, 0)
-#  define __builtin_copysignf128 __builtin_copysignq
-#  define __builtin_fabsf128 __builtin_fabsq
-#  define __builtin_inff128() ((_Float128) __builtin_inf ())
-#  define __builtin_nanf128(x) ((_Float128) __builtin_nan (x))
-#  define __builtin_nansf128(x) ((_Float128) __builtin_nans (x))
-# endif
+#  if !__GNUC_PREREQ (7, 0)
+#   define __builtin_copysignf128 __builtin_copysignq
+#   define __builtin_fabsf128 __builtin_fabsq
+#   define __builtin_inff128() ((_Float128) __builtin_inf ())
+#   define __builtin_nanf128(x) ((_Float128) __builtin_nan (x))
+#   define __builtin_nansf128(x) ((_Float128) __builtin_nans (x))
+#  endif
 
 /* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
    e.g.: __builtin_signbitf128, before GCC 6.  However, there has never
    been a __builtin_signbitf128 in GCC and the type-generic builtin is
    only available since GCC 6.  */
-# if !__GNUC_PREREQ (6, 0)
-#  define __builtin_signbitf128 __signbitf128
+#  if !__GNUC_PREREQ (6, 0)
+#   define __builtin_signbitf128 __signbitf128
+#  endif
+
 # endif
 
-#endif
+#endif /* !__ASSEMBLER__.  */
 
 #include <bits/floatn-common.h>
 

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                              |   11 ++
 bits/floatn-common.h                   |  294 ++++++++++++++++----------------
 bits/floatn.h                          |    8 +-
 sysdeps/ia64/bits/floatn.h             |   60 ++++---
 sysdeps/ieee754/ldbl-128/bits/floatn.h |   46 +++---
 sysdeps/mips/ieee754/bits/floatn.h     |   46 +++---
 sysdeps/powerpc/bits/floatn.h          |   60 ++++---
 sysdeps/x86/bits/floatn.h              |   60 ++++---
 8 files changed, 312 insertions(+), 273 deletions(-)


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]