Boost logo

Boost Users :

Subject: Re: [Boost-users] [format] warning...warning...warning
From: Richard Hodges (hodges.r_at_[hidden])
Date: 2017-03-23 13:08:52


> I thought a reference implementation would be written with such policy.

> There’s no way I’m gonna read each of the hundreds of messages to
understand if it is a mistake in my source code or a “shortcut” in boost
library.

> So this is my first user experience. Not impressed at all. Boost will not
be my reference.

Boost is a community-maintained library. The contributors work tirelessly -
for free - to make it the best, most comprehensive and correct library it
can be.

You can help by filing bug reports when you find unsatisfactory behaviour.

You can also help by contributing bugfixes and updates.

On 23 March 2017 at 09:45, Arnaud RICHARD via Boost-users <
boost-users_at_[hidden]> wrote:

> Hello,
>
> I’m a complete Boost newbie. I’ve been told very often that boost is the
> way to go for serious C++ coding, and I was not surprised to see such
> emphasis on the home page:
>
> “We aim to establish "existing practice" and provide reference
> implementations so that Boost libraries are suitable for eventual
> standardization”
>
>
>
> So when I used the format library on my existing (non-trivial) project and
> first compiled… I was very very surprised to get my neat compilation
> console flooded with hundreds of warnings !
>
>
>
> I acknowledge I activate many many warnings:
>
> CXXFLAGS+=-Wall -Wextra -Wcast-qual -Wctor-dtor-privacy
> -Wdisabled-optimization \
>
> -Wformat=2 -Winit-self -Wlogical-op -Wmissing-include-dirs \
>
> -Wnoexcept -Woverloaded-virtual -Wredundant-decls -Wshadow \
>
> -Wsign-conversion -Wsign-promo -Wstrict-null-sentinel
> -Wstrict-overflow=5 \
>
> -Wswitch-default -Wundef -Wunused
>
>
>
> The warnings were as trivial as (for example):
>
> ../ext/boost/boost/type_traits/is_default_constructible.hpp:16:22:
> warning: "BOOST_GCC_VERSION_WORKAROUND_GUARD" is not defined [-Wundef]
>
> #if BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40700)
>
>
>
> ../ext/boost/boost/format/parsing.hpp:435:67: warning: conversion to
> ‘std::vector<boost::io::detail::format_item<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<boost::io::detail::format_item<char,
> std::char_traits<char>, std::allocator<char> > > >::size_type {aka unsigned
> int}’ from ‘int’ may change the sign of the result [-Wsign-conversion]
>
> string_type & piece = (cur_item==0) ? prefix_ :
> items_[cur_item-1].appendix_;
>
>
>
> I understand they are only warning and the code is functionally correct
> and standard-wise correct.
>
> Personally when I face such false warnings in my code, I change the code
> to remove the warning so that if a warning does make sense, I can notice it.
>
>
>
> I thought a reference implementation would be written with such policy.
>
> There’s no way I’m gonna read each of the hundreds of messages to
> understand if it is a mistake in my source code or a “shortcut” in boost
> library.
>
>
>
> So this is my first user experience. Not impressed at all. Boost will not
> be my reference.
>
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net