Re: Major issues with g++ 6 and gnulib

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/19/2016 08:24 PM, Jonathan Wakely wrote:
On 20/02/16 02:07 +0000, Jonathan Wakely wrote:
The next problem is that gnulib defines:

inline int signbit (float f) { return _gl_cxx_signbitf (f); } inline
int signbit (double d) { return _gl_cxx_signbitd (d); } inline int
signbit (long double l) { return _gl_cxx_signbitl (l); }

GCC 6 provides a standard-conforming <math.h> which defines the same
signbit overloads (as required by C++11 and C++14).  So the gnulib
header is incompatible with any conforming C++11 implementation.


Here's a patch for Octave which hacks around the above problem in
gnulib and then fixes Octave to include gnulib headers explicitly,
instead of assuming they'll get found by GCC's std::lib.

I haven't waited for octave to finish building (it's after 3am here)
but if other files fail just #include <libgnu/math.h> or #include
<libgnu/stdlib.h> and it should work.

The gnulib change is a hack, a proper fix would only skip the signbit
overloads for __cplusplus >= 201103L, but would also make sure to
#undef signbit if there's an earlier #define signbit 1. Maybe that
should be done by defining @GNULIB_SIGNBIT@ to something different.

Jonathan - Thank you for all your help with this.


--
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA/CoRA Division                    FAX: 303-415-9702
3380 Mitchell Lane                  orion@xxxxxxxxxxxxx
Boulder, CO 80301              http://www.cora.nwra.com
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
http://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux