$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Fernando Cacciola (fernando_cacciola_at_[hidden])
Date: 2007-03-07 11:39:55
Thomas Witt wrote:
> Fernando,
>
> Fernando Cacciola wrote:
>>
>> How about I report on the status tomorrow noon? (my time, UTC-3)
>
OK.
Comming up with a fix was quite easy, specially given that, a I said, this
was a known problem and I had the fix waiting to be applied (but needed a
linux box to test it). I still don't understand why it showed up after my
lastest changes
Anyway, here's the diff:
79,91d78
< // Daniel Wallin discovered that bind/apply.hpp badly interacts with the
apply<>
< // member template of a factory as used in the optional<> implementation.
< // He proposed this simple fix which is to move the call to apply<>
outside
< // namespace boost.
< namespace boost_optional_detail
< {
< template <class T, class Factory>
< void construct(Factory const& factory, void* address)
< {
< factory.BOOST_NESTED_TEMPLATE apply<T>(address);
< }
< }
<
325c312
< boost_optional_detail::construct<value_type>(factory,
m_storage.address());
--- > factory.BOOST_NESTED_TEMPLATE > apply<value_type>(m_storage.address()) ; Unfortunately, I couldn't test it on gcc. I got stuck pretty much all morning on this error: gcc.link ../../../bin.v2/libs/optional/test/optional_test.test/gcc-4.0.2 Copyright/debug/optional_test /usr/lib/libc_nonshared.a(elf-init.oS)(.text.__i686.get_pc_thunk.bx+0x0): In function `__i686.get_pc_thunk.bx': : multiple definition of `__i686.get_pc_thunk.bx' ../../../bin.v2/libs/optional/test/optional_test.test/gcc-4.0.2 Copyright/debug/optional_test.o(.gnu.linkonce.t.__i686.get_pc_thunk.bx+0x0):/usr/include/c++/3.3/new:94: first defined here collect2: ld returned 1 exit status "g++" -o "../../../bin.v2/libs/optional/test/optional_test.test/gcc-4.0.2 Copyright/debug/optional_test" -Wl,--start-group "../../../bin.v2/libs/optional/test/optional_test.test/gcc-4.0.2 Copyright/debug/optional_test.o" -Wl,--end-group -g ...failed gcc.link ../../../bin.v2/libs/optional/test/optional_test.test/gcc-4.0.2 Googling indicates that I have my gcc installation messed up, but couldn't fix it yet. So, can anyone tried the patch on gcc? It works here on VC80 and VC7.1. Best Fernando Cacciola