[CRC] Compilation fails with #include <boost/crc.hpp>

Hi all, I want to use boost CRC, but when I #include <boost/crc.hpp>, I get the following error: "error: ISO C++ forbids variable-size array 'table_type'" in line 468 of crc.hpp. gcc --version tells me, I'm using the following gcc on my Mac (OSX 10.5): "i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5484)" I use boost 1.34.1, but as crc.hpp of version 1.35 does not differ, I suppose updating the library would not help. The error is in the following context: <code> struct crc_table_t { BOOST_STATIC_CONSTANT( std::size_t, byte_combos = (1ul << CHAR_BIT) ); typedef mask_uint_t<Bits> masking_type; typedef typename masking_type::fast value_type; #if defined(__BORLANDC__) && defined(_M_IX86) && (__BORLANDC__ == 0x560) // for some reason Borland's command line compiler (version // 0x560) // chokes over this unless we do the calculation for it: typedef value_type table_type[ 0x100 ]; #else typedef value_type table_type[ byte_combos ];//<-- error here #endif static void init_table(); static table_type table_; }; // boost::detail::crc_table_t </code> I suppose it has to do with a bug of gcc, that cannot calculate "byte_combos" at compile time (or at least it acts as if it had to calculate "byte_combos" at runtime). A fix would be to enhance the "#if defined..." to the gcc versions with the said bug. I just realized there was an entry in the bug tracking system at sourceforge concerning this problem: https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1478435&gro up_id=7586 but I have no permission to view the issue. The entry was made in early 2006. Is there any work on this issue? TIA Norbert P.S.: I also realize I can get around the problem by not using "-pedantic", but for me this is a valuable switch.

AMDG Norbert Riedlin wrote:
I just realized there was an entry in the bug tracking system at sourceforge concerning this problem:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1478435&gro up_id=7586
but I have no permission to view the issue. The entry was made in early 2006. Is there any work on this issue?
The ticket is here now: http://svn.boost.org/trac/boost/ticket/613 In Christ, Steven Watanabe
participants (2)
-
Norbert Riedlin
-
Steven Watanabe