On Mon, Mar 22, 2010 at 12:45 AM, Federico G. Schwindt <[email protected]> wrote: > On Tue, Jan 12, 2010 at 03:46:03PM +0100, Auclair Vincent wrote: >> On Mon, Jan 11, 2010 at 6:25 PM, Auclair Vincent >> <[email protected]> wrote: > > Compiled ok :) >> > >> > regress didn't work >> > >> > # make regress >> > ===> ?Regression check for boost-1.41.0p0 >> > make: cannot open Makefile. >> > *** Error code 2 >> > >> > Stop in /yellowstone/workbox/git/ports/devel/boost (line 2226 of >> > /usr/ports/infrastructure/mk/bsd.port.mk). >> > >> > tested on i386 using mainly boost::asio >> >> >> Well actually I stumbled on a problem :) >> When using the -W warning flag it get these warnings >> >> In file included from /usr/local/include/boost/smart_ptr/shared_ptr.hpp:31, >> from /usr/local/include/boost/shared_ptr.hpp:17, >> from ../ags/module/module.hpp:14, >> from ../ags/module/modulemanager.h:10, >> from module/modulemanager.cpp:5: >> /usr/local/include/boost/throw_exception.hpp:57: warning: `inline' is not at >> beginning of declaration >> >> this issue is from this line >> template<class E> BOOST_ATTRIBUTE_NORETURN inline void >> throw_exception( E const & e ) >> >> We can find the define in boost/exception/detail/attribute_noreturn.hpp >> #define BOOST_ATTRIBUTE_NORETURN __attribute__((noreturn)) >> >> So it doens't like >> template<class E> __attribute__((noreturn)) inline void >> throw_exception( E const & e ) >> >> @@@@@ >> >> In file included from >> /usr/local/include/boost/date_time/gregorian/gregorian.hpp:21, >> from >> /usr/local/include/boost/date_time/posix_time/time_formatters.hpp:12, >> from >> /usr/local/include/boost/date_time/posix_time/posix_time.hpp:24, >> from ../ags/network/timer.ipp:13, >> from plugins/arch/OpenBSD/arenamanager.cpp:6: >> /usr/local/include/boost/date_time/gregorian/conversion.hpp: In function `tm >> boost::gregorian::to_tm(const boost::gregorian::date&)': >> /usr/local/include/boost/date_time/gregorian/conversion.hpp:44: warning: >> missing >> initializer for member `tm::tm_sec' >> /usr/local/include/boost/date_time/gregorian/conversion.hpp:44: warning: >> missing >> initializer for member `tm::tm_min' >> /usr/local/include/boost/date_time/gregorian/conversion.hpp:44: warning: >> missing >> initializer for member `tm::tm_hour' >> /usr/local/include/boost/date_time/gregorian/conversion.hpp:44: warning: >> missing >> initializer for member `tm::tm_mday' >> /usr/local/include/boost/date_time/gregorian/conversion.hpp:44: warning: >> missing >> initializer for member `tm::tm_mon' >> /usr/local/include/boost/date_time/gregorian/conversion.hpp:44: warning: >> missing >> initializer for member `tm::tm_year' >> /usr/local/include/boost/date_time/gregorian/conversion.hpp:44: warning: >> missing >> initializer for member `tm::tm_wday' >> /usr/local/include/boost/date_time/gregorian/conversion.hpp:44: warning: >> missing >> initializer for member `tm::tm_yday' >> /usr/local/include/boost/date_time/gregorian/conversion.hpp:44: warning: >> missing >> initializer for member `tm::tm_isdst' >> /usr/local/include/boost/date_time/gregorian/conversion.hpp:44: warning: >> missing >> initializer for member `tm::tm_gmtoff' >> /usr/local/include/boost/date_time/gregorian/conversion.hpp:44: warning: >> missing >> initializer for member `tm::tm_zone' >> In file included from >> /usr/local/include/boost/date_time/posix_time/posix_time_io.hpp:21, >> from >> /usr/local/include/boost/date_time/posix_time/posix_time.hpp:31, >> from ../ags/network/timer.ipp:13, >> from plugins/arch/OpenBSD/arenamanager.cpp:6: >> >> Here tm innitialized like this >> std::tm timetm = {}; >> >> @@@@@ >> >> /usr/local/include/boost/tuple/detail/tuple_basic.hpp:119: warning: `static' >> is >> not at beginning of declaration >> >> here the issue is this >> >> inline static RET get(const cons<HT, TT>& t) >> { >> return t.head; >> } >> >> It want's static inline and not inline static. >> >> @@@@@ >> >> In file included from /usr/local/include/boost/asio/io_service.hpp:26, >> from ../ags/common/io_service.h:8, >> from common/io_service.cpp:5: >> /usr/local/include/boost/system/error_code.hpp:281: warning: `friend' is not >> at >> beginning of declaration >> >> which cooresponds to this function in the boost header >> inline friend bool operator==( const error_condition & lhs, >> const error_condition & rhs ) >> { >> return lhs.m_cat == rhs.m_cat && lhs.m_val == rhs.m_val; >> } >> >> same issue in inline ordering >> >> I have a few other warnings with inlines. >> All of them disappear if I don't use the -W flag > > I think it'd be a good time to bring the boost update back in the table. > 1.42 has been released as well. As for the warning, does not occur with the > current version in ports? >
The code that was compiled to produce these warnings does not compile with the current version in ports, it's missing asio. Before using this patch, I was using boost-1.38 which I had built without using the ports. With 1.38 it did not produce these warnings, and still doesn't. It also doesn't warn with boost-1.39 (only the headers, since I wasn't able to build the libraries.) The release log for 1.42 doesn't seem to mention anything about these errors. (http://www.boost.org/users/download/version_1_42_0) -- Vincent Auclair - auclair.vincent[ at ]gmail.com (+33) 6 80 77 59 67
