Boost logo

Boost :

Subject: Re: [boost] [Boost-users] [release] Boost 1.68.0 Beta 1 -> warnings in filesystem, locale, thread, stacktrace, container
From: Frédéric (ufospoke_at_[hidden])
Date: 2018-07-29 07:08:10


I have tested 1.68.0 on linux x86_64 with the following compilers:
- g++ 8.2.0,
- clang++ 5.0.2,
- mingw-w64 + g++ 8.2.0 cross compiling to windows 32 bits,
- mingw-w64 + g++ 8.2.0 cross compiling to windows 64 bits,
- clang++ 5.0.2 cross compiliing to OSX 10.9 32 bits,
- clang++ 5.0.2 cross compiliing to OSX 10.9 64 bits.

I did not find any major issue. Just those warnings while building the

* filesystem (g++ 8.2.0 and clang++ 5.0.2 on linux x86_64):

libs/filesystem/src/operations.cpp: Dans la fonction « int
{anonymous}::readdir_r_simulator(DIR*, dirent*, dirent**) »:
libs/filesystem/src/operations.cpp:2126:18: warning: « int
readdir_r(DIR*, dirent*, dirent**) » est obsolète
       { return ::readdir_r(dirp, entry, result); }
In file included from /usr/include/features.h:423,
                 from /softs/gcc-8.2.0/include/c++/8.2.0/cstddef:49,
                 from ./boost/config/compiler/gcc.hpp:165,
                 from ./boost/config.hpp:39,
                 from ./boost/filesystem/operations.hpp:18,
                 from libs/filesystem/src/operations.cpp:68:
/usr/include/dirent.h:189:12: note: déclaré ici
 extern int __REDIRECT (readdir_r,

* locale (many more than that one about deprecated std::auto_ptr):
I wonder when auto_ptr will be removed but it would be nice to change
it to unique_ptr.

In file included from libs/locale/src/util/default_locale.cpp:10:
./boost/locale/util.hpp:180:28: warning: « template<class> class
std::auto_ptr » est obsolète [-Wdeprecated-declarations]
     BOOST_LOCALE_DECL std::auto_ptr<base_converter> create_utf8_converter();
In file included from /softs/gcc-8.2.0/include/c++/8.2.0/bits/locale_conv.h:41,
                 from /softs/gcc-8.2.0/include/c++/8.2.0/locale:43,
                 from ./boost/locale/util.hpp:10,
                 from libs/locale/src/util/default_locale.cpp:10:
/softs/gcc-8.2.0/include/c++/8.2.0/bits/unique_ptr.h:53:28: note: déclaré ici
   template<typename> class auto_ptr;

* thead with mingw w64 cross compiling to windows 32 bits on linux
x86_64 with g++ 8.2.0:
I guess this warning is due to the fact that time_t is 32 bits on
windows 32 bits so this looks dangerous to me.

libs/thread/src/win32/thread_primitives.cpp: Dans la fonction «
boost::detail::win32::{anonymous}::get_tick_count_init() »:
libs/thread/src/win32/thread_primitives.cpp:97:120: warning:
transtypage entre types de fonctions incompatibles de «
boost::winapi::FARPROC_ » {aka « int (__attribute__((stdcall)) *)() »}
vers « boost::detail::win32::detail::gettickcount64_t » {aka « long
long unsigned int (__attribute__((stdcall)) *)() »}

* stacktrace (windows 32 and 64 bits):

In file included from ./boost/winapi/file_management.hpp:17,
                 from ./boost/stacktrace/detail/safe_dump_win.ipp:20,
                 from ./boost/stacktrace/safe_dump_to.hpp:210,
                 from ./boost/stacktrace/frame.hpp:20,
                 from ./boost/stacktrace/detail/frame_unwind.ipp:15,
                 from libs/stacktrace/build/../src/basic.cpp:14:
./boost/winapi/overlapped.hpp:38:9: warning: le C++ ISO interdit les
structures anonymes [-Wpedantic]

* iostreams (windows 64 bits):

libs/iostreams/src/mapped_file.cpp: Dans la fonction membre « void
libs/iostreams/src/mapped_file.cpp:324:29: warning: comparaison
d'expressions entières de types signés différents: «
boost::iostreams::stream_offset » {aka « long long int »} et «
boost::iostreams::mapped_file_source::size_type » {aka « long long
unsigned int »} [-Wsign-compare]
             (SIZE_T) (size_ != max_length ? size_ : 0),

* container (OSX 32 and 64 bits, clang 5.0.2):
many locations with this warning:

In file included from libs/container/src/alloc_lib.c:24:
In file included from libs/container/src/dlmalloc_ext_2_8_6.c:36:
libs/container/src/dlmalloc_2_8_6.c:4085:27: warning: 'sbrk' is
deprecated [-Wdeprecated-declarations]
      char* base = (char*)CALL_MORECORE(0);
libs/container/src/dlmalloc_2_8_6.c:1714:37: note: expanded from macro
libs/container/src/dlmalloc_2_8_6.c:666:26: note: expanded from macro
note: 'sbrk' has been explicitly marked deprecated here
note: expanded from macro '__deprecated'
#define __deprecated __attribute__((deprecated))

Boost list run by bdawes at, gregod at, cpdaniel at, john at