Build fails on Linux in include/basegfx/numeric/ftools.hxx

Julien Nabet serval2412 at yahoo.fr
Wed Jun 16 16:41:28 UTC 2021


Hello Tomaž,

On pc Debian x86-64 with master sources updated today + make clean, I got:

[CXX] ucbhelper/source/provider/resultsethelper.cxx
In file included from 
/home/julien/lo/libreoffice/libreofficekit/source/gtk/lokdocview.cxx:25:
In file included from /home/julien/lo/libreoffice/include/vcl/event.hxx:26:
In file included from 
/home/julien/lo/libreoffice/include/vcl/settings.hxx:24:
In file included from 
/home/julien/lo/libreoffice/include/tools/color.hxx:26:
In file included from 
/home/julien/lo/libreoffice/include/basegfx/color/bcolor.hxx:27:
In file included from 
/home/julien/lo/libreoffice/include/basegfx/tuple/b3dtuple.hxx:24:
/home/julien/lo/libreoffice/include/basegfx/numeric/ftools.hxx:175:103: 
error: implicit conversion (Dependent) from 'bool' to 'typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type' 
[loplugin:implicitboolconversion]
         template <typename T, typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type = false>
^~~~~
/home/julien/lo/libreoffice/include/basegfx/numeric/ftools.hxx:182:103: 
error: implicit conversion (Dependent) from 'bool' to 'typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type' 
[loplugin:implicitboolconversion]
         template <typename T, typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type = false>
^~~~~
/home/julien/lo/libreoffice/include/basegfx/numeric/ftools.hxx:188:103: 
error: implicit conversion (Dependent) from 'bool' to 'typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type' 
[loplugin:implicitboolconversion]
         template <typename T, typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type = false>
^~~~~
/home/julien/lo/libreoffice/include/basegfx/numeric/ftools.hxx:195:103: 
error: implicit conversion (Dependent) from 'bool' to 'typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type' 
[loplugin:implicitboolconversion]
         template <typename T, typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type = false>
^~~~~
/home/julien/lo/libreoffice/include/basegfx/numeric/ftools.hxx:201:103: 
error: implicit conversion (Dependent) from 'bool' to 'typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type' 
[loplugin:implicitboolconversion]
         template <typename T, typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type = false>
^~~~~
/home/julien/lo/libreoffice/include/basegfx/numeric/ftools.hxx:207:103: 
error: implicit conversion (Dependent) from 'bool' to 'typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type' 
[loplugin:implicitboolconversion]
         template <typename T, typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type = false>
^~~~~
/home/julien/lo/libreoffice/include/basegfx/numeric/ftools.hxx:213:103: 
error: implicit conversion (Dependent) from 'bool' to 'typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type' 
[loplugin:implicitboolconversion]
         template <typename T, typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type = false>
^~~~~
/home/julien/lo/libreoffice/include/basegfx/numeric/ftools.hxx:219:103: 
error: implicit conversion (Dependent) from 'bool' to 'typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type' 
[loplugin:implicitboolconversion]
         template <typename T, typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type = false>
^~~~~
/home/julien/lo/libreoffice/include/basegfx/numeric/ftools.hxx:225:103: 
error: implicit conversion (Dependent) from 'bool' to 'typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type' 
[loplugin:implicitboolconversion]
         template <typename T, typename 
std::enable_if<std::is_floating_point<T>::value, bool>::type = false>
^~~~~

Noticing 
https://cgit.freedesktop.org/libreoffice/core/commit/?id=e838c1b9e9031de742deeff763c06b1d39f399ef:

author    Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>    2021-06-14 
20:11:34 +0900
committer    Tomaž Vajngerl <quikee at gmail.com>    2021-06-16 10:47:27 +0200
commit    e838c1b9e9031de742deeff763c06b1d39f399ef (patch)
tree    348e261e849cfa607b4117f7e788ca24d1a52d80
parent    bf6dabe0ebad3cc5bc0edc04ae74fba0190b6203 (diff)
basegfx: use namespace for "ftools", make sure input is FP number
Don't use empty class with static methods for ftools, but just
use namespace instead. Also make sure it works with any floating
point numbers (float and double) and don't allow input if it is
anything else than a floating point number


Thought you might have some idea.

Here's my autogen.input:

CC=clang
CXX=clang++
--enable-compiler-plugins
--enable-dbgutil
--enable-evolution2
--enable-qt5
--enable-kf5
--enable-gtk3-kde5
--enable-skia=debug
--enable-ext-nlpsolver
--enable-ext-ct2n
--enable-ext-numbertext
--enable-ext-wiki-publisher
--enable-dbus
--enable-werror
--enable-dependency-tracking
--enable-python=fully-internal
--without-system-mariadb
--enable-bundle-mariadb
--enable-symbols
--enable-avahi
--enable-eot
--enable-odk
--with-lang=en-US es fr pt pt-BR it de ru
--with-myspell-dicts

Debian clang version 11.0.1-2

GNU ld (GNU Binutils for Debian) 2.35.2

ldd (Debian GLIBC 2.31-12) 2.31

Regards,

Julien



More information about the LibreOffice mailing list