Boost logo

Boost :

From: Sean Kevin O'Keeffe (sokeeffe_at_[hidden])
Date: 2001-12-20 16:27:42


I am unable to compile the pool test program using gcc version 3.0 even
though the compiler status page reports successful compilation with this
version. (I'm using Debian testing version 3.0.2)

The compile fails when it tries to use sizeof(void *) as a template argument.
 
Is this a bug I should report to the GCC team? Has anyone out got this to
compile with gcc 3.0.2?

I've seen this problem with each version of Boost. This build attempt was
done with version 1.26.

Here is the actual compiler output:

----
$ gcc-3.0 -o boosttmp.exe -lstdc++ -W -Wall -I.. 
../libs/pool/test/test_pool_alloc.cpp
In file included from ../boost/pool/singleton_pool.hpp:16,
                 from ../boost/pool/pool_alloc.hpp:21,
                 from ../libs/pool/test/test_pool_alloc.cpp:11:
../boost/pool/pool.hpp: In member function `char*
   boost::details::PODptr<SizeType>::ptr_next_ptr() const':
../boost/pool/pool.hpp:95: non-constant `sizeof (void*)' cannot be used as
   template argument
../boost/pool/pool.hpp: In member function `SizeType
   boost::details::PODptr<SizeType>::element_size() const':
../boost/pool/pool.hpp:113: non-constant `sizeof (void*)' cannot be used as
   template argument
../boost/pool/pool.hpp: At global scope:
../boost/pool/pool.hpp:142: non-constant `sizeof (void*)' cannot be used as
   template argument
../boost/pool/pool.hpp: In member function `void*
   boost::pool<UserAllocator>::malloc_need_resize()':
../boost/pool/pool.hpp:419: non-constant `sizeof (void*)' cannot be used as
   template argument
../boost/pool/pool.hpp: In member function `void*
   boost::pool<UserAllocator>::ordered_malloc_need_resize()':
../boost/pool/pool.hpp:443: non-constant `sizeof (void*)' cannot be used as
   template argument
../boost/pool/pool.hpp: In member function `void*
   boost::pool<UserAllocator>::ordered_malloc(typename
   UserAllocator::size_type)':
../boost/pool/pool.hpp:502: non-constant `sizeof (void*)' cannot be used as
   template argument
../boost/pool/pool.hpp: At global scope:
../boost/pool/pool.hpp: In instantiation of 
`boost::pool<boost::default_user_allocator_new_delete>':
../libs/pool/test/test_pool_alloc.cpp:103:   instantiated from 
`boost::object_pool<tester, boost::default_user_allocator_new_delete>'
../libs/pool/test/test_pool_alloc.cpp:103:   instantiated from here
../boost/pool/pool.hpp:143: `::value' undeclared (first use here)
-- 
Sean Kevin O'Keeffe <sokeeffe_at_[hidden]>

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk