Giter Site home page Giter Site logo

detail's Issues

Where is `boost/detail/workaround.hpp`?

A number of files in boost/type_traits include the header boost/detail/workaround.hpp. However, there is no such file here and compilation breaks if boost/detail is included as a git submodule to some project. Curiously, the needed header file (and a few more) are available in boost-1.78.0.tar.gz and compilation goes smoothly if boost is compiled and installed first as an external library. Aren't these modules synchronised with the official releases?

Library requirements errors.

====== BEGIN OUTPUT ======
libs/detail: error: file not found; Did not find [project-root]/index.html file. The file is required for all libraries. Redirection to HTML documentation.
libs/detail: error: directory not found; Missing [project-root]/doc directory. The [project-root]/doc directory is required for all libraries. Sources to build with and built documentation for the library. If the library needs to build documentation from non-HTML files this location must be buildable with Boost Build.
libs/detail: warning: file found; Found extra files in [project-root]/include/boost directory.
libs/detail: error: directory not found; Missing [project-root]/meta directory. The [project-root]/meta directory is required for all libraries.

EXIT STATUS: 1
====== END OUTPUT ======

do_length is not correctly overridden?

I have two independent builds reporting this error in Boost.Uuid, which includes this header from Boost.Serialization, which includes a header from Boost.Detail:

clang-linux.compile.c++.without-pth bin.v2/libs/serialization/build/clang-gnu-linux-3.9.0/debug/cxxstd-03/threadapi-pthread/utf8_codecvt_facet.o
In file included from libs/serialization/src/utf8_codecvt_facet.cpp:19:
In file included from ./boost/detail/utf8_codecvt_facet.ipp:13:
./boost/detail/utf8_codecvt_facet.hpp:181:17: warning: 'boost::archive::detail::utf8_codecvt_facet::do_length' hides overloaded virtual function [-Woverloaded-virtual]
    virtual int do_length(
                ^
/usr/lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/codecvt.h:453:11: note: hidden overloaded virtual function 'std::codecvt<wchar_t, char, __mbstate_t>::do_length' declared here: type mismatch at 1st parameter ('state_type &' (aka '__mbstate_t &') vs 'const std::mbstate_t &' (aka 'const __mbstate_t &'))
      int do_length(state_type&, const extern_type* __from,
          ^
1 warning generated.

This same issue was identified by Coverity Scan as well.
The build job that identified it: https://travis-ci.org/jeking3/uuid/jobs/293338558

Thanks.

@robertramey it looks like you made the original module - can you take a quick look? In Coverity Scan the failure was reported against libstdc++-4.8 and here it is version 7.2.

GCC suggest-override warnings

Complete list of warnings when Boost 1.72 is built with GCC 7.5 with -Wsuggest-override added to cxxflags:

./boost/detail/basic_pointerbuf.hpp:123:1: warning: ‘boost::detail::basic_pointerbuf::pos_type boost::detail::basic_pointerbuf::seekpos(boost::detail::basic_pointerbuf::pos_type, std::ios_base::openmode) [with charT = char; BufferT = std::__cxx11::basic_stringbuf; boost::detail::basic_pointerbuf::pos_type = std::fpos<__mbstate_t>; std::ios_base::openmode = std::_Ios_Openmode]’ can be marked override [-Wsuggest-override]
./boost/detail/basic_pointerbuf.hpp:69:1: warning: ‘BufferT* boost::detail::basic_pointerbuf::setbuf(boost::detail::basic_pointerbuf::char_type*, boost::detail::basic_pointerbuf::streamsize) [with charT = char; BufferT = std::__cxx11::basic_stringbuf; boost::detail::basic_pointerbuf::char_type = char; boost::detail::basic_pointerbuf::streamsize = long int]’ can be marked override [-Wsuggest-override]
./boost/detail/basic_pointerbuf.hpp:77:1: warning: ‘boost::detail::basic_pointerbuf::pos_type boost::detail::basic_pointerbuf::seekoff(boost::detail::basic_pointerbuf::off_type, std::ios_base::seekdir, std::ios_base::openmode) [with charT = char; BufferT = std::__cxx11::basic_stringbuf; boost::detail::basic_pointerbuf::pos_type = std::fpos<__mbstate_t>; boost::detail::basic_pointerbuf::off_type = long int; std::ios_base::seekdir = std::_Ios_Seekdir; std::ios_base::openmode = std::_Ios_Openmode]’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:119:39: warning: ‘virtual std::codecvt_base::result boost::archive::detail::utf8_codecvt_facet::do_in(mbstate_t&, const char*, const char*, const char*&, wchar_t*, wchar_t*, wchar_t*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:119:39: warning: ‘virtual std::codecvt_base::result boost::filesystem::detail::utf8_codecvt_facet::do_in(mbstate_t&, const char*, const char*, const char*&, wchar_t*, wchar_t*, wchar_t*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:119:39: warning: ‘virtual std::codecvt_base::result boost::program_options::detail::utf8_codecvt_facet::do_in(mbstate_t&, const char*, const char*, const char*&, wchar_t*, wchar_t*, wchar_t*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:129:39: warning: ‘virtual std::codecvt_base::result boost::archive::detail::utf8_codecvt_facet::do_out(mbstate_t&, const wchar_t*, const wchar_t*, const wchar_t*&, char*, char*, char*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:129:39: warning: ‘virtual std::codecvt_base::result boost::filesystem::detail::utf8_codecvt_facet::do_out(mbstate_t&, const wchar_t*, const wchar_t*, const wchar_t*&, char*, char*, char*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:129:39: warning: ‘virtual std::codecvt_base::result boost::program_options::detail::utf8_codecvt_facet::do_out(mbstate_t&, const wchar_t*, const wchar_t*, const wchar_t*&, char*, char*, char*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:159:18: warning: ‘virtual bool boost::archive::detail::utf8_codecvt_facet::do_always_noconv() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:159:18: warning: ‘virtual bool boost::filesystem::detail::utf8_codecvt_facet::do_always_noconv() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:159:18: warning: ‘virtual bool boost::program_options::detail::utf8_codecvt_facet::do_always_noconv() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:164:39: warning: ‘virtual std::codecvt_base::result boost::archive::detail::utf8_codecvt_facet::do_unshift(mbstate_t&, char*, char*, char*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:164:39: warning: ‘virtual std::codecvt_base::result boost::filesystem::detail::utf8_codecvt_facet::do_unshift(mbstate_t&, char*, char*, char*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:164:39: warning: ‘virtual std::codecvt_base::result boost::program_options::detail::utf8_codecvt_facet::do_unshift(mbstate_t&, char*, char*, char*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:174:17: warning: ‘virtual int boost::archive::detail::utf8_codecvt_facet::do_encoding() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:174:17: warning: ‘virtual int boost::filesystem::detail::utf8_codecvt_facet::do_encoding() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:174:17: warning: ‘virtual int boost::program_options::detail::utf8_codecvt_facet::do_encoding() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:181:17: warning: ‘virtual int boost::archive::detail::utf8_codecvt_facet::do_length(mbstate_t&, const char*, const char*, std::size_t) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:181:17: warning: ‘virtual int boost::filesystem::detail::utf8_codecvt_facet::do_length(mbstate_t&, const char*, const char*, std::size_t) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:181:17: warning: ‘virtual int boost::program_options::detail::utf8_codecvt_facet::do_length(mbstate_t&, const char*, const char*, std::size_t) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:212:17: warning: ‘virtual int boost::archive::detail::utf8_codecvt_facet::do_max_length() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:212:17: warning: ‘virtual int boost::filesystem::detail::utf8_codecvt_facet::do_max_length() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:212:17: warning: ‘virtual int boost::program_options::detail::utf8_codecvt_facet::do_max_length() const’ can be marked override [-Wsuggest-override]

Related: boostorg/config#253

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.