
"Peter Dimov" <pdimov@mmltd.net> writes:
Peter Dimov wrote:
Peter Dimov wrote:
Robert Zeh wrote:
/home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp:91: error: impossible constraint in `asm'
The compiler could have told us which constraint is impossible ;-)
I'll try to update my cygwin g++ to 3.4; apparently, the new backend is less forgiving.
It works with -O1, -O2, -O3, but fails with -O0. Argh.
Sorry for the noise. The attached should work. I even enabled it in sp_counted_base.
Now I get the following (gcc 3.4.3) razeh@lb1:/home/host/razeh$ cd /home/razeh/boost/libs/smart_ptr/test/ razeh@lb1:/home/razeh/boost/libs/smart_ptr/test$ bjam ...found 335 targets... ...updating 31 targets... gcc-Link-action ../../../bin/boost/libs/smart_ptr/test/lw_mutex_test.test/gcc/debug/lw_mutex_test Chmod1 ../../../bin/boost/libs/smart_ptr/test/lw_mutex_test.test/gcc/debug/lw_mutex_test gcc-Link-action ../../../bin/boost/libs/smart_ptr/test/atomic_count_test.test/gcc/debug/atomic_count_test Chmod1 ../../../bin/boost/libs/smart_ptr/test/atomic_count_test.test/gcc/debug/atomic_count_test gcc-Link-action ../../../bin/boost/libs/smart_ptr/test/intrusive_ptr_test.test/gcc/debug/intrusive_ptr_test Chmod1 ../../../bin/boost/libs/smart_ptr/test/intrusive_ptr_test.test/gcc/debug/intrusive_ptr_test gcc-Link-action ../../../bin/boost/libs/smart_ptr/test/get_deleter_test.test/gcc/debug/get_deleter_test Chmod1 ../../../bin/boost/libs/smart_ptr/test/get_deleter_test.test/gcc/debug/get_deleter_test gcc-C++-action ../../../bin/boost/libs/smart_ptr/test/shared_from_this_test.test/gcc/debug/shared_from_this_test.o /home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp: In function `long int boost::detail::atomic_conditional_increment(long int*)': /home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp:94: instantiated from `boost::shared_ptr<T>::shared_ptr(const boost::weak_ptr<Y>&) [with Y = V, T = V]' /home/razeh/boost/boost/enable_shared_from_this.hpp:49: instantiated from `boost::shared_ptr<T> boost::enable_shared_from_this<T>::shared_from_this() [with T = V]' ../../../libs/smart_ptr/test/shared_from_this_test.cpp:129: instantiated from here /home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp:91: error: impossible constraint in `asm' set -e "g++" -c -Wall -ftemplate-depth-255 -g -O0 -fno-inline -Wno-non-virtual-dtor -I"../../../bin/boost/libs/smart_ptr/test" -I "/home/razeh/boost" -o "../../../bin/boost/libs/smart_ptr/test/shared_from_this_test.test/gcc/debug/shared_from_this_test.o" "../../../libs/smart_ptr/test/shared_from_this_test.cpp" "/usr/bin/objcopy" --set-section-flags .debug_str=contents,debug "../../../bin/boost/libs/smart_ptr/test/shared_from_this_test.test/gcc/debug/shared_from_this_test.o" ...failed gcc-C++-action ../../../bin/boost/libs/smart_ptr/test/shared_from_this_test.test/gcc/debug/shared_from_this_test.o... ...skipped <@boost!libs!smart_ptr!test/shared_from_this_test.test/gcc/debug>shared_from_this_test for lack of <@boost!libs!smart_ptr!test/shared_from_this_test.test/gcc/debug>shared_from_this_test.o... gcc-C++-action ../../../bin/boost/libs/smart_ptr/test/weak_ptr_test.test/gcc/debug/weak_ptr_test.o /home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp: In function `long int boost::detail::atomic_conditional_increment(long int*)': /home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp:94: instantiated from `boost::shared_ptr<T>::shared_ptr(const boost::weak_ptr<Y>&) [with Y = int, T = int]' ../../../libs/smart_ptr/test/weak_ptr_test.cpp:113: instantiated from here /home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp:91: error: impossible constraint in `asm' set -e "g++" -c -Wall -ftemplate-depth-255 -g -O0 -fno-inline -I"../../../bin/boost/libs/smart_ptr/test" -I "/home/razeh/boost" -o "../../../bin/boost/libs/smart_ptr/test/weak_ptr_test.test/gcc/debug/weak_ptr_test.o" "../../../libs/smart_ptr/test/weak_ptr_test.cpp" "/usr/bin/objcopy" --set-section-flags .debug_str=contents,debug "../../../bin/boost/libs/smart_ptr/test/weak_ptr_test.test/gcc/debug/weak_ptr_test.o" ...failed gcc-C++-action ../../../bin/boost/libs/smart_ptr/test/weak_ptr_test.test/gcc/debug/weak_ptr_test.o... ...skipped <@boost!libs!smart_ptr!test/weak_ptr_test.test/gcc/debug>weak_ptr_test for lack of <@boost!libs!smart_ptr!test/weak_ptr_test.test/gcc/debug>weak_ptr_test.o... gcc-C++-action ../../../bin/boost/libs/smart_ptr/test/shared_ptr_test.test/gcc/debug/shared_ptr_test.o /home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp: In function `long int boost::detail::atomic_conditional_increment(long int*)': /home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp:94: instantiated from `boost::shared_ptr<T>::shared_ptr(const boost::weak_ptr<Y>&) [with Y = n_constructors::Y, T = n_constructors::Y]' ../../../libs/smart_ptr/test/shared_ptr_test.cpp:763: instantiated from here /home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp:91: error: impossible constraint in `asm' set -e "g++" -c -Wall -ftemplate-depth-255 -g -O0 -fno-inline -Wno-non-virtual-dtor -I"../../../bin/boost/libs/smart_ptr/test" -I "/home/razeh/boost" -o "../../../bin/boost/libs/smart_ptr/test/shared_ptr_test.test/gcc/debug/shared_ptr_test.o" "../../../libs/smart_ptr/test/shared_ptr_test.cpp" "/usr/bin/objcopy" --set-section-flags .debug_str=contents,debug "../../../bin/boost/libs/smart_ptr/test/shared_ptr_test.test/gcc/debug/shared_ptr_test.o" ...failed gcc-C++-action ../../../bin/boost/libs/smart_ptr/test/shared_ptr_test.test/gcc/debug/shared_ptr_test.o... ...skipped <@boost!libs!smart_ptr!test/shared_ptr_test.test/gcc/debug>shared_ptr_test for lack of <@boost!libs!smart_ptr!test/shared_ptr_test.test/gcc/debug>shared_ptr_test.o... gcc-C++-action ../../../bin/boost/libs/smart_ptr/test/shared_ptr_basic_test.test/gcc/debug/shared_ptr_basic_test.o /home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp: In function `long int boost::detail::atomic_conditional_increment(long int*)': /home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp:94: instantiated from `boost::shared_ptr<T>::shared_ptr(const boost::weak_ptr<Y>&) [with Y = X, T = X]' ../../../libs/smart_ptr/test/shared_ptr_basic_test.cpp:234: instantiated from here /home/razeh/boost/boost/detail/sp_counted_base_gcc_x86.hpp:91: error: impossible constraint in `asm' set -e "g++" -c -Wall -ftemplate-depth-255 -g -O0 -fno-inline -Wno-non-virtual-dtor -I"../../../bin/boost/libs/smart_ptr/test" -I "/home/razeh/boost" -o "../../../bin/boost/libs/smart_ptr/test/shared_ptr_basic_test.test/gcc/debug/shared_ptr_basic_test.o" "../../../libs/smart_ptr/test/shared_ptr_basic_test.cpp" "/usr/bin/objcopy" --set-section-flags .debug_str=contents,debug "../../../bin/boost/libs/smart_ptr/test/shared_ptr_basic_test.test/gcc/debug/shared_ptr_basic_test.o" ...failed gcc-C++-action ../../../bin/boost/libs/smart_ptr/test/shared_ptr_basic_test.test/gcc/debug/shared_ptr_basic_test.o... ...skipped <@boost!libs!smart_ptr!test/shared_ptr_basic_test.test/gcc/debug>shared_ptr_basic_test for lack of <@boost!libs!smart_ptr!test/shared_ptr_basic_test.test/gcc/debug>shared_ptr_basic_test.o... gcc-Link-action ../../../bin/boost/libs/smart_ptr/test/smart_ptr_test.test/gcc/debug/smart_ptr_test Chmod1 ../../../bin/boost/libs/smart_ptr/test/smart_ptr_test.test/gcc/debug/smart_ptr_test execute-test ../../../bin/boost/libs/smart_ptr/test/smart_ptr_test.test/gcc/debug/smart_ptr_test.run **passed** ../../../bin/boost/libs/smart_ptr/test/smart_ptr_test.test/gcc/debug/smart_ptr_test.test ...skipped <@boost!libs!smart_ptr!test/shared_ptr_basic_test.test/gcc/debug>shared_ptr_basic_test.run for lack of <@boost!libs!smart_ptr!test/shared_ptr_basic_test.test/gcc/debug>shared_ptr_basic_test... ...skipped <@boost!libs!smart_ptr!test/shared_ptr_test.test/gcc/debug>shared_ptr_test.run for lack of <@boost!libs!smart_ptr!test/shared_ptr_test.test/gcc/debug>shared_ptr_test... ...skipped <@boost!libs!smart_ptr!test/weak_ptr_test.test/gcc/debug>weak_ptr_test.run for lack of <@boost!libs!smart_ptr!test/weak_ptr_test.test/gcc/debug>weak_ptr_test... ...skipped <@boost!libs!smart_ptr!test/shared_from_this_test.test/gcc/debug>shared_from_this_test.run for lack of <@boost!libs!smart_ptr!test/shared_from_this_test.test/gcc/debug>shared_from_this_test... execute-test ../../../bin/boost/libs/smart_ptr/test/get_deleter_test.test/gcc/debug/get_deleter_test.run **passed** ../../../bin/boost/libs/smart_ptr/test/get_deleter_test.test/gcc/debug/get_deleter_test.test execute-test ../../../bin/boost/libs/smart_ptr/test/intrusive_ptr_test.test/gcc/debug/intrusive_ptr_test.run **passed** ../../../bin/boost/libs/smart_ptr/test/intrusive_ptr_test.test/gcc/debug/intrusive_ptr_test.test execute-test ../../../bin/boost/libs/smart_ptr/test/atomic_count_test.test/gcc/debug/atomic_count_test.run **passed** ../../../bin/boost/libs/smart_ptr/test/atomic_count_test.test/gcc/debug/atomic_count_test.test execute-test ../../../bin/boost/libs/smart_ptr/test/lw_mutex_test.test/gcc/debug/lw_mutex_test.run **passed** ../../../bin/boost/libs/smart_ptr/test/lw_mutex_test.test/gcc/debug/lw_mutex_test.test ...failed updating 4 targets... ...skipped 12 targets... ...updated 15 targets... razeh@lb1:/home/razeh/boost/libs/smart_ptr/test$