[Top][All Lists]

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

Re: [lmi] 'Wconversion' warnings with xmlwrapp and x86_64 gcc-8.3

From: Vadim Zeitlin
Subject: Re: [lmi] 'Wconversion' warnings with xmlwrapp and x86_64 gcc-8.3
Date: Wed, 22 Jul 2020 16:43:00 +0200

On Wed, 22 Jul 2020 14:21:19 +0000 Greg Chicares <gchicares@sbcglobal.net> 

GC> I don't know why I didn't notice this before. It occurs only with
GC> x86_64 (not production), not with i686 (production). Probably I
GC> should just suppress the warning for this library.
GC> x86_64-w64-mingw32-g++ -MMD -MP -MT xml_xslt_wrapp.o -MF xml_xslt_wrapp.d  
-c -I /opt/lmi/src/lmi -I /opt/lmi/src/lmi/tools/pete-2.1.1 -I 
/opt/lmi/third_party/src -isystem 
 -isystem /opt/lmi/local/include/wx-3.1 -isystem /opt/lmi/third_party/include 
-isystem /opt/lmi/local/include -isystem /opt/lmi/local/include/libxml2 
-fno-ms-extensions -frounding-math -std=c++17 -pedantic-errors -Werror -Wall 
-Walloc-zero -Walloca -Wcast-align -Wcast-function-type -Wconversion 
-Wdangling-else -Wdeprecated-declarations -Wdisabled-optimization 
-Wdouble-promotion -Wduplicated-branches -Wduplicated-cond -Wextra 
-Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat-y2k -Wimport 
-Winit-self -Winvalid-pch -Wlogical-op -Wmissing-include-dirs -Wmultichar 
-Wnull-dereference -Wpacked -Wpointer-arith -Wredundant-decls -Wrestrict 
-Wshadow -Wsign-compare -Wstack-protector -Wswitch-enum -Wtrampolines -Wundef 
-Wunreachable-code -Wunused-macros -Wvector-operation-performance 
-Wwrite-strings -Wno-parentheses  -Wc++11-compat -Wc++14-compat -Wc++1z-compat 
-Wcatch-value=3 -Wconditionally-supported -Wctor-dtor-privacy 
-Wdelete-non-virtual-dtor -Wdeprecated -Wextra-semi -Wnoexcept -Wnoexcept-type 
-Wnon-template-friend -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual 
-Wplacement-new=2 -Wpmf-conversions -Wregister -Wreorder -Wstrict-null-sentinel 
-Wsuggest-override -Wsynth -Wuseless-cast -Wzero-as-null-pointer-constant  
-Wcast-qual    -D'BOOST_STATIC_ASSERT(A)=static_assert((A))'   -ggdb -O2 
-fno-omit-frame-pointer   -fomit-frame-pointer 
/opt/lmi/src/lmi/xml_xslt_wrapp.cpp -oxml_xslt_wrapp.o
GC> In file included from /opt/lmi/third_party/src/libxml/ait_impl.h:39,
GC>                  from /opt/lmi/third_party/src/libxml/ait_impl.cxx:34,
GC>                  from /opt/lmi/src/lmi/xml_xslt_wrapp.cpp:34:
GC> /opt/lmi/third_party/src/libxml/pimpl_base.h: In static member function 
‘static void* xml::impl::pi
GC> mpl_base<T>::operator new(size_t)’:
GC> /opt/lmi/third_party/src/libxml/pimpl_base.h:61:50: error: conversion from 
‘long long unsigned int’ to ‘unsigned int’ may change value [-Werror=conversion]
GC>          boost::singleton_pool<xmlwrapp_pool_tag, sizeof(T)>
GC>                                                   ^~~~~~~~~

 Note that I've updated xmlwrapp to not use Boost.Singleton at all back in
ddb1e69 (Stop using Boost.Pool library, 2018-12-14), so another way to fix
these warnings would be to update to the latest version of the library.

 I've never made a release with these changes, but it wouldn't be difficult
to do it, if it would make updating simpler.

 BTW, while I guess now might not be the best way to start discussing this,
I'd like to ask you once again if you would consider using Git submodules
instead of manual wget/git-clone in install_xxx scripts and makefiles. It
just seems so unnecessary to imperfectly manually emulate what submodules
can do out of the box for no good reason, and updating the various third
party libraries would become completely trivial (not counting testing the
new versions, of course) if we switched to submodules. Please let me know
if you'd be interested to hear my sales pitch about them in more details.


Attachment: pgpOxeTqdjs0F.pgp
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]