Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Old compilers

Old compilers

August 5th, 2013 20:00 GMT

I just sent an email to user list asking if anyone is using old compilers, I'll repeat it here:

Hello all,

There has been some discussion on the development list about dropping all support for old C++ compilers. This will allow us to remove a lot of workarounds and simplify the code but before doing so it's a good idea to find out if anyone is still using them. Using boost with these compilers will cause a compile error in the config library (you can work round that using a custom configuration, but it's unlikely you'll be able to get much to work). The currently proposed versions for removing support are:

  • Digital Mars 8.40 and earlier
  • Visual C++ 7.0 and earlier
  • GCC 3.2 and earlier
  • Intel C++ 5.0 and earlier

Which is, I think, a very cautious list. There's also a good chance that we might want to remove support for Borland C++ 5.x. Is there anyone still using those compilers?

Just to be clear, this doesn't mean we'll be fully supporting all compilers later than these. Old compilers such as Visual C++ 7.1 and gcc 3.4 won't have a config error and we won't deliberately remove support, but support will be patchy. Many libraries (especially new ones) don't support those compilers, and we also don't have any formal testing for them, so if a new change breaks something, it might not be noticed.

If you are still using compilers which are a little more recent than the ones listed above, it might still be worth mentioning in case we consider removing support for them in the future.

Thanks in advance for any response,

Daniel James

Update: I had a few responses, but none were opposed to this change, so I made it in trunk a little while ago. It should be included in the next release.

There was some concern that we would remove support for later compilers (e.g. Visual Studio 2008, aka. Visual C++ 9.0). We have no such plans, this change is only for very old compilers. As always support across Boost libraries is not uniform, but most library authors do try to support as wide a range of compilers as is feasible.