|
Boost : |
From: Russell Hind (rhind_at_[hidden])
Date: 2004-01-14 04:33:45
Borland bcc32 (only tested on 0x564), but probably affects version
before this and kylix (0x570) which I can't test, has a bug where when
you do a release build, functions such as strcmp (which the compiler
intrinsicly generates) aren't put in the std:: namespace so
std::strcmp will fail to compile on these compilers in a release build
mode. Works fine in debug mode. The solution is to just call strcmp in
a release build. This occurs in
operations_posix_windows.cpp for filesystem at lines
234,235,271,272.
Could a work-around be provided. I've locally changed lines at 234-235
to be
#if defined(__BORLANDC__) && (__BORLANDC__ <= 0x564) &&
!defined(_DEBUG)
if ( strcmp( name, "." ) != 0
&& strcmp( name, ".." ) != 0 )
#else
if ( std::strcmp( name, "." ) != 0
&& std::strcmp( name, ".." ) != 0 )
#endif
But am unsure of the work-around syntax to use this correctly. The same
work-around can be applied at 271-272 also.
Thanks
Russell
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk