Fixes for Comeau with Borland as backend.

[SVN r17588]
This commit is contained in:
Peter Dimov
2003-02-22 13:40:23 +00:00
parent 8422135bf2
commit cb697fe9cb

View File

@ -32,17 +32,17 @@ namespace boost
namespace detail namespace detail
{ {
template<unsigned size, unsigned align> union freeblock template<unsigned size, unsigned align_> union freeblock
{ {
typedef typename boost::type_with_alignment<align>::type aligner_type; typedef typename boost::type_with_alignment<align_>::type aligner_type;
aligner_type aligner; aligner_type aligner;
char bytes[size]; char bytes[size];
freeblock * next; freeblock * next;
}; };
template<unsigned size, unsigned align> struct allocator_impl template<unsigned size, unsigned align_> struct allocator_impl
{ {
typedef freeblock<size, align> block; typedef freeblock<size, align_> block;
// It may seem odd to use such small pages. // It may seem odd to use such small pages.
// //
@ -162,18 +162,18 @@ template<unsigned size, unsigned align> struct allocator_impl
}; };
#ifdef BOOST_HAS_THREADS #ifdef BOOST_HAS_THREADS
template<unsigned size, unsigned align> template<unsigned size, unsigned align_>
lightweight_mutex allocator_impl<size, align>::mutex; lightweight_mutex allocator_impl<size, align_>::mutex;
#endif #endif
template<unsigned size, unsigned align> template<unsigned size, unsigned align_>
freeblock<size, align> * allocator_impl<size, align>::free = 0; freeblock<size, align_> * allocator_impl<size, align_>::free = 0;
template<unsigned size, unsigned align> template<unsigned size, unsigned align_>
freeblock<size, align> * allocator_impl<size, align>::page = 0; freeblock<size, align_> * allocator_impl<size, align_>::page = 0;
template<unsigned size, unsigned align> template<unsigned size, unsigned align_>
unsigned allocator_impl<size, align>::last = allocator_impl<size, align>::items_per_page; unsigned allocator_impl<size, align_>::last = allocator_impl<size, align_>::items_per_page;
template<class T> template<class T>
struct quick_allocator: public allocator_impl< sizeof(T), boost::alignment_of<T>::value > struct quick_allocator: public allocator_impl< sizeof(T), boost::alignment_of<T>::value >