On 09/26/2013 10:47 PM, Daniel James wrote:
On 25 September 2013 14:20, Stephen Kelly
wrote: It is not clear what compilers define __BORLANDC__. According to
http://en.wikipedia.org/wiki/C%2B%2BBuilder#Version_history
0x6xx may have been released in 2002. Bump the requirement to 0x610, as most of the ifdefs in boost are < 600. The strange part is that boost config issues an unconditional error if > 0x613, and yet parts of boost check for version 0x620 (boost::bind) and 0x630. This compiler may be untested for a long time. The Borland compiler versions aren't the same as the C++ Builder versions, Version 6 of the compiler is a lot later. I had an email (this morning) from someone who's still using 5.93.
Any idea when 5.93 was released? Is it ancient? What about the concept that people using ancient compilers can use ancient boost? I guess that's not consensus...
Later versions are handled by the Codegear config file, which is why that error is never triggered.
Ok, I see. There is also this in select_compiler_config.hpp #elif defined __CODEGEARC__ // CodeGear - must be checked for before Borland #elif defined __BORLANDC__ So, presumably CodeGear defines __BORLANDC__? Can anyone confirm that? Is it always defined to the same value as __CODEGEARC__?
Whichever way, I don't think we should make these changes until after the next release, they can't be merged to release until then, and it's a problem to have significant changes in trunk and release in core libraries.
Ok. The discussion can happen independent of patches. Thanks, Steve.