Boost logo

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


Could a work-around be provided. I've locally changed lines at 234-235
to be

           #if defined(__BORLANDC__) && (__BORLANDC__ <= 0x564) &&
           if ( strcmp( name, "." ) != 0
             && strcmp( name, ".." ) != 0 )
           if ( std::strcmp( name, "." ) != 0
             && std::strcmp( name, ".." ) != 0 )

But am unsure of the work-around syntax to use this correctly. The same
work-around can be applied at 271-272 also.



Boost list run by bdawes at, gregod at, cpdaniel at, john at