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

Reply via email to