> 2020-12-20  Bruno Haible  <br...@clisp.org>
> 
>       float: Fix compilation error when gnulib's float.h exists twice.
>       Reported by Santiago Vila <sanv...@unex.es>.
>       * lib/float.in.h (GNULIB_defined_long_double_union): New macro.

Oops, that was only half of the necessary patch. Part 2 is:


diff --git a/lib/float.in.h b/lib/float.in.h
index 7988cc7..6b57ce6 100644
--- a/lib/float.in.h
+++ b/lib/float.in.h
@@ -149,11 +149,14 @@ extern const union gl_long_double_union gl_LDBL_MAX;
 
    Unfortunately, this is not a constant expression, and the latter expression
    does not work well when GCC is optimizing..  */
+# if !GNULIB_defined_long_double_union
 union gl_long_double_union
   {
     struct { double hi; double lo; } dd;
     long double ld;
   };
+#  define GNULIB_defined_long_double_union 1
+# endif
 extern const union gl_long_double_union gl_LDBL_MAX;
 # define LDBL_MAX (gl_LDBL_MAX.ld)
 #endif


Reply via email to