
David Abrahams wrote:
"Reece Dunn" <msclrhd@hotmail.com> writes:
It may be useful to have 3 levels of support: * officially supported (e.g. CodeWarrior 9.x, gcc, VC8) - compilers that Boost is expected to work with; * not officially supported (e.g. VC6, BCB) - some libraries may work, but there is no requirement to support these compilers;
Sounds good, but I'd like to know, as a practical matter, what the difference between these two is. Less pressure on developers to support the 2nd category?
The first would mean that Boost guarantees support for the specified compiler/version. The second (possibly with a better name) would mean that there is limited support. That is: * less pressure (or none for VC6 ;)) on developers to support it (as you mention); * no requirement to fix regressions for that toolset (although it might be useful for the users to see the regression results for these compilers so they know what libraries will work).
* not supported (e.g. OpenWatcom) - these haven't been tested for and do not have any Boost.Config/workaround magic to support them.
It may also be useful to make Boost.Config issue a warning that compilers like BCB and VC6 are not officially supported if they are removed from the supported list.
<shiver> Wouldn't people hate us for adding diagnostics?
I don't know. Don't Boost.Python and Boost.Serialize produce warnings/notifications if they aren't configured properly? Ok, maybe a diagnostic message is a bad idea :). However, the information about there not being any (official) support for these compilers should be visible to someone who is casually scanning the documentation and any release notes/information. - Reece