Created attachment 170049 [details]
Fix std::map declaration in audio/ardour
During the exp-run in bug 208158, it was found that audio/ardour gives errors with libc++ 3.8.0 :
In file included from gtk2_ardour/editor.cc:33:
In file included from libs/pbd/pbd/enumwriter.h:24:
/usr/include/c++/v1/map:837:5: error: implicit instantiation of undefined template '__static_assert_test<false>'
static_assert((is_same<typename allocator_type::value_type, value_type>::value),
/usr/include/c++/v1/__config:632:35: note: expanded from macro 'static_assert'
typedef __static_assert_check<sizeof(__static_assert_test<(__b)>)> \
gtk2_ardour/tempo_lines.h:53:8: note: in instantiation of template class 'std::__1::map<double, Gnome::Canvas::SimpleLine *, std::__1::less<double>, boost::fast_pool_allocator<std::__1::pair<double, Gnome::Canvas::SimpleLine *>, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 8192, 0> >' requested here
This is because the std::map's allocator is not defined correctly. Fix this by correcting the 'fast_pool_allocator' definition to use a const double.
A commit references this bug:
Date: Mon May 30 05:52:57 UTC 2016
New revision: 416138
During the exp-run in PR 208158, it was found that audio/ardour gives errors
with libc++ 3.8.0. This is because the std::map's allocator was not defined
correctly. Fix the `fast_pool_allocator' definition to use a `const double'.
Submitted by: dim
In-place sed(1) version of the patch committed as ports r416138, thank you.