|
Boost Users : |
Subject: [Boost-users] [Regex] MSVC 2008 (VC9) fails to compile regex_raw_buffer.hpp on 1_49
From: Larry (lknain_at_[hidden])
Date: 2013-02-24 10:54:46
I get an error just including regex.hpp in a program that used to work on earlier VC versions.
1>c:\boost\include\boost-1_49\boost\regex\v4\regex_raw_buffer.hpp(184) : error C2665: 'operator new' : none of the 6 overloads could convert all the argument types
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\new(57): could be 'void *operator new(size_t,void *) throw()'
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\new(86): or 'void *operator new(size_t,const std::nothrow_t &) throw()'
1> while trying to match the argument list '(const char [64], long)'
1>c:\boost\include\boost-1_49\boost\regex\v4\perl_matcher_non_recursive.hpp(110) : error C2059: syntax error : '*'
inline raw_storage::raw_storage(size_type n)
{
start = end = static_cast<pointer>(::operator new(n)); <--- offending line for first error
BOOST_REGEX_NOEH_ASSERT(start)
last = start + n;
}
struct save_state_init
{
saved_state** stack;
save_state_init(saved_state** base, saved_state** end)
: stack(base)
{
*base = static_cast<saved_state*>(get_mem_block());
*end = reinterpret_cast<saved_state*>(reinterpret_cast<char*>(*base)+BOOST_REGEX_BLOCKSIZE);
--(*end);
(void) new (*end)saved_state(0); <---- offending line for second error
...........
I looked to see if this was a known failure but apparently missed it if it was already covered. It is probably not a Boost problem. The earlier versions were compiled on 32 bit systems and this is a 64 bit system (Win7). I assume I have probably missed some configuration item to make this work. I am fairly certain I did compile this before under VC9 on a 32 bit system (Vista). (Boost was built from source on this system and this compiler.)
Any pointers for resolution would be appreciated.
Larry
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net