Tim Blechmann wrote:
ok, please pull again ...
- ppc fix for the lockfree framework
- fixed thomas's patch for compare-and-swap on apple
- workaround for apples gcc-4.0, rejecting valid c++ code

hi tim,
just to keep you busy...
m.

g++ -o release/gui/py_gui_wrapper.os -c -finline-limit-1000 -ftree-vectorize --param large-function-growth=1000 --param inline-unit-growth=1000 -fomit-frame-pointer -O3 -ftemplate-depth-4096 -Wnon-virtual-dtor -fPIC -DHAVE_PORTAUDIO -DNDEBUG -I/sw/include/python2.5 -I/opt/local/include -Ilibs/boost -Ilibs/property_tree -Ilibs/uuid -Ilibs/boost_lockfree -Ilibs/pri_queue -Ilibs/oscpack -Ilibs/muparser/include -Ilibs -Ilibs/sparsehash-0.9.1/src -Ilibs/libresample-0.1.3/include -Irelease -Isource source/gui/py_gui_wrapper.cpp
In file included from source/utilities/thread.hpp:53,
                 from source/kernel/object_system/objectholder.hpp:29,
                 from source/nova_includes.hpp:29,
                 from source/nova.hpp:29,
                 from source/gui/py_gui_wrapper.cpp:27:
source/utilities/semaphore.hpp:95:2: warning: #warning boost semaphore emulation In file included from libs/boost_lockfree/boost/lockfree/tagged_ptr_dcas.hpp:14,
                 from libs/boost_lockfree/boost/lockfree/tagged_ptr.hpp:17,
                 from libs/lockfree/atomic_ptr.hpp:23,
                 from libs/lockfree/set.hpp:29,
                 from source/primitives/symbol.hpp:32,
                 from source/primitives/atom.hpp:35,
                 from source/client/observer.hpp:33,
                 from source/kernel/object_system/objectholder.hpp:30,
                 from source/nova_includes.hpp:29,
                 from source/nova.hpp:29,
                 from source/gui/py_gui_wrapper.cpp:27:
libs/boost_lockfree/boost/lockfree/cas.hpp:178:2: warning: #warning ("blocking CAS2 emulation") source/primitives/symbol.hpp: In member function 'bool nova::SymbolTable<size>::comparator::operator()(nova::detail::SymbolData*, const nova::string&) [with unsigned int size = 1024u]': libs/lockfree/set.hpp:363: instantiated from 'bool lockfree::set<T, compare, internal_memory_pool, pool_size>::find(const U&, typename lockfree::pass_the_buck<64u, lockfree::set<T, compare, internal_memory_pool, pool_size>::node*>::guard, typename lockfree::pass_the_buck<64u, lockfree::set<T, compare, internal_memory_pool, pool_size>::node*>::guard, typename lockfree::pass_the_buck<64u, lockfree::set<T, compare, internal_memory_pool, pool_size>::node*>::guard, lockfree::marked_ptr<lockfree::set<T, compare, internal_memory_pool, pool_size>::node>*&, lockfree::marked_ptr<lockfree::set<T, compare, internal_memory_pool, pool_size>::node>&, lockfree::marked_ptr<lockfree::set<T, compare, internal_memory_pool, pool_size>::node>&) [with U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, T = nova::detail::SymbolData*, compare = nova::SymbolTable<1024u>::comparator, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' libs/lockfree/set.hpp:242: instantiated from 'bool lockfree::set<T, compare, internal_memory_pool, pool_size>::extract(const U&, T&) [with U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, T = nova::detail::SymbolData*, compare = nova::SymbolTable<1024u>::comparator, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' source/primitives/symbol.hpp:232: instantiated from 'nova::detail::symboldata_ptr nova::SymbolTable<size>::gen_symboldata(const nova::string&) [with unsigned int size = 1024u]'
source/primitives/symbol_implementation.hpp:36:   instantiated from here
source/primitives/symbol.hpp:179: error: 'const nova::string nova::detail::SymbolData::name' is private
source/primitives/symbol.hpp:306: error: within this context
source/primitives/symbol.hpp: In member function 'bool nova::SymbolTable<size>::comparator::operator()(const nova::string&, nova::detail::SymbolData*) [with unsigned int size = 1024u]': libs/lockfree/set.hpp:364: instantiated from 'bool lockfree::set<T, compare, internal_memory_pool, pool_size>::find(const U&, typename lockfree::pass_the_buck<64u, lockfree::set<T, compare, internal_memory_pool, pool_size>::node*>::guard, typename lockfree::pass_the_buck<64u, lockfree::set<T, compare, internal_memory_pool, pool_size>::node*>::guard, typename lockfree::pass_the_buck<64u, lockfree::set<T, compare, internal_memory_pool, pool_size>::node*>::guard, lockfree::marked_ptr<lockfree::set<T, compare, internal_memory_pool, pool_size>::node>*&, lockfree::marked_ptr<lockfree::set<T, compare, internal_memory_pool, pool_size>::node>&, lockfree::marked_ptr<lockfree::set<T, compare, internal_memory_pool, pool_size>::node>&) [with U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, T = nova::detail::SymbolData*, compare = nova::SymbolTable<1024u>::comparator, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' libs/lockfree/set.hpp:242: instantiated from 'bool lockfree::set<T, compare, internal_memory_pool, pool_size>::extract(const U&, T&) [with U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, T = nova::detail::SymbolData*, compare = nova::SymbolTable<1024u>::comparator, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' source/primitives/symbol.hpp:232: instantiated from 'nova::detail::symboldata_ptr nova::SymbolTable<size>::gen_symboldata(const nova::string&) [with unsigned int size = 1024u]'
source/primitives/symbol_implementation.hpp:36:   instantiated from here
source/primitives/symbol.hpp:179: error: 'const nova::string nova::detail::SymbolData::name' is private
source/primitives/symbol.hpp:311: error: within this context
libs/boost_lockfree/boost/lockfree/cas.hpp: In function 'bool boost::lockfree::CAS(volatile C*, D, D) [with C = lockfree::set<nova::detail::SymbolData*, nova::SymbolTable<1024u>::comparator, false, 1024u>::node*, D = lockfree::set<nova::detail::SymbolData*, nova::SymbolTable<1024u>::comparator, false, 1024u>::node*]': libs/lockfree/atomic_ptr.hpp:294: instantiated from 'bool lockfree::marked_ptr<T>::CAS(const lockfree::marked_ptr<T>&, const lockfree::marked_ptr<T>&) [with T = lockfree::set<nova::detail::SymbolData*, nova::SymbolTable<1024u>::comparator, false, 1024u>::node]' libs/lockfree/set.hpp:110: instantiated from 'bool lockfree::set<T, compare, internal_memory_pool, pool_size>::insert(const T&) [with T = nova::detail::SymbolData*, compare = nova::SymbolTable<1024u>::comparator, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' source/primitives/symbol.hpp:240: instantiated from 'nova::detail::symboldata_ptr nova::SymbolTable<size>::gen_symboldata(const nova::string&) [with unsigned int size = 1024u]'
source/primitives/symbol_implementation.hpp:36:   instantiated from here
libs/boost_lockfree/boost/lockfree/cas.hpp:45: error: invalid conversion from 'lockfree::set<nova::detail::SymbolData*, nova::SymbolTable<1024u>::comparator, false, 1024u>::node*' to 'int32_t' libs/boost_lockfree/boost/lockfree/cas.hpp:45: error: invalid conversion from 'lockfree::set<nova::detail::SymbolData*, nova::SymbolTable<1024u>::comparator, false, 1024u>::node*' to 'int32_t' libs/boost_lockfree/boost/lockfree/cas.hpp:45: error: cannot convert 'lockfree::set<nova::detail::SymbolData*, nova::SymbolTable<1024u>::comparator, false, 1024u>::node* volatile*' to 'volatile int32_t*' for argument '3' to 'bool OSAtomicCompareAndSwap32(int32_t, int32_t, volatile int32_t*)' libs/boost_lockfree/boost/lockfree/cas.hpp: In function 'bool boost::lockfree::CAS(volatile C*, D, D) [with C = long int, D = int]': libs/lockfree/ptb.hpp:149: instantiated from 'unsigned int lockfree::pass_the_buck<max_guards, value>::hire_guard() [with unsigned int max_guards = 64u, value = lockfree::detail::fifo<nova::Observer::Command*, false, 1024u>::node*]' libs/lockfree/fifo.hpp:246: instantiated from 'typename lockfree::pass_the_buck<64u, lockfree::detail::fifo<T, internal_memory_pool, pool_size>::node*>::guard lockfree::detail::fifo<T, internal_memory_pool, pool_size>::hire_guard() [with T = nova::Observer::Command*, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' libs/lockfree/fifo.hpp:105: instantiated from 'void lockfree::detail::fifo<T, internal_memory_pool, pool_size>::enqueue(const T&) [with T = nova::Observer::Command*, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' libs/lockfree/fifo.hpp:296: instantiated from 'void lockfree::fifo<T*, internal_memory_pool, pool_size>::enqueue(T*) [with T = nova::Observer::Command, bool internal_memory_pool = false, unsigned int pool_size = 1024u]'
source/client/observer.hpp:203:   instantiated from here
libs/boost_lockfree/boost/lockfree/cas.hpp:45: error: invalid conversion from 'volatile long int*' to 'volatile int32_t*' libs/boost_lockfree/boost/lockfree/cas.hpp:45: error: initializing argument 3 of 'bool OSAtomicCompareAndSwap32(int32_t, int32_t, volatile int32_t*)' libs/boost_lockfree/boost/lockfree/cas.hpp: In function 'bool boost::lockfree::CAS(volatile C*, D, D) [with C = unsigned int, D = unsigned int]': libs/lockfree/ptb.hpp:162: instantiated from 'unsigned int lockfree::pass_the_buck<max_guards, value>::hire_guard() [with unsigned int max_guards = 64u, value = lockfree::detail::fifo<nova::Observer::Command*, false, 1024u>::node*]' libs/lockfree/fifo.hpp:246: instantiated from 'typename lockfree::pass_the_buck<64u, lockfree::detail::fifo<T, internal_memory_pool, pool_size>::node*>::guard lockfree::detail::fifo<T, internal_memory_pool, pool_size>::hire_guard() [with T = nova::Observer::Command*, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' libs/lockfree/fifo.hpp:105: instantiated from 'void lockfree::detail::fifo<T, internal_memory_pool, pool_size>::enqueue(const T&) [with T = nova::Observer::Command*, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' libs/lockfree/fifo.hpp:296: instantiated from 'void lockfree::fifo<T*, internal_memory_pool, pool_size>::enqueue(T*) [with T = nova::Observer::Command, bool internal_memory_pool = false, unsigned int pool_size = 1024u]'
source/client/observer.hpp:203:   instantiated from here
libs/boost_lockfree/boost/lockfree/cas.hpp:45: error: invalid conversion from 'volatile unsigned int*' to 'volatile int32_t*' libs/boost_lockfree/boost/lockfree/cas.hpp:45: error: initializing argument 3 of 'bool OSAtomicCompareAndSwap32(int32_t, int32_t, volatile int32_t*)' libs/boost_lockfree/boost/lockfree/cas.hpp: In function 'bool boost::lockfree::CAS(volatile C*, D, D) [with C = lockfree::detail::fifo<nova::IdleCallback*, false, 1024u>::node*, D = lockfree::detail::fifo<nova::IdleCallback*, false, 1024u>::node*]': libs/lockfree/ptb.hpp:304: instantiated from 'bool lockfree::pass_the_buck<max_guards, value>::liberate(value_set&) [with value_set = lockfree::pass_the_buck<64u, lockfree::detail::fifo<nova::IdleCallback*, false, 1024u>::node*>::value_set<4ul>, unsigned int max_guards = 64u, value = lockfree::detail::fifo<nova::IdleCallback*, false, 1024u>::node*]' libs/lockfree/ptb_freelist.hpp:47: instantiated from 'void lockfree::dummy_ptb_freelist<T>::deallocate(lockfree::pass_the_buck<max_guards, value>&, T*) [with unsigned int max_guards = 64u, value = lockfree::detail::fifo<nova::IdleCallback*, false, 1024u>::node*, T = lockfree::detail::fifo<nova::IdleCallback*, false, 1024u>::node]' libs/lockfree/fifo.hpp:196: instantiated from 'void lockfree::detail::fifo<T, internal_memory_pool, pool_size>::dealloc_node(lockfree::detail::fifo<T, internal_memory_pool, pool_size>::node*) [with T = nova::IdleCallback*, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' libs/lockfree/fifo.hpp:161: instantiated from 'bool lockfree::detail::fifo<T, internal_memory_pool, pool_size>::dequeue(T*) [with T = nova::IdleCallback*, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' libs/lockfree/fifo.hpp:286: instantiated from 'bool lockfree::fifo<T*, internal_memory_pool, pool_size>::dequeue_smart_ptr(smart_ptr&) [with smart_ptr = std::auto_ptr<nova::IdleCallback>, T = nova::IdleCallback, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' libs/lockfree/fifo.hpp:306: instantiated from 'bool lockfree::fifo<T*, internal_memory_pool, pool_size>::dequeue(std::auto_ptr<T>&) [with T = nova::IdleCallback, bool internal_memory_pool = false, unsigned int pool_size = 1024u]' source/kernel/scheduler.hpp:62: instantiated from 'bool nova::CallbackSystem<CallbackType>::RunCallbacks() [with CallbackType = nova::IdleCallback]'
source/kernel/scheduler.hpp:139:   instantiated from here
libs/boost_lockfree/boost/lockfree/cas.hpp:45: error: invalid conversion from 'lockfree::detail::fifo<nova::IdleCallback*, false, 1024u>::node*' to 'int32_t' libs/boost_lockfree/boost/lockfree/cas.hpp:45: error: invalid conversion from 'lockfree::detail::fifo<nova::IdleCallback*, false, 1024u>::node*' to 'int32_t' libs/boost_lockfree/boost/lockfree/cas.hpp:45: error: cannot convert 'lockfree::detail::fifo<nova::IdleCallback*, false, 1024u>::node* volatile*' to 'volatile int32_t*' for argument '3' to 'bool OSAtomicCompareAndSwap32(int32_t, int32_t, volatile int32_t*)'
scons: *** [release/gui/py_gui_wrapper.os] Error 1
scons: building terminated because of errors.
_______________________________________________
nova-dev mailing list
[email protected]
http://klingt.org/cgi-bin/mailman/listinfo/nova-dev
http://tim.klingt.org/nova

Reply via email to