Boost logo

Boost :

Subject: [boost] Policy about non-compliant standard headers
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2013-09-21 03:31:35


Hi,

I was reported an issue with Boost.Log which fails to compile with Sun Pro
compiler because it has non-compliant standard C headers. I was wondering if
there is a policy or recommendation for dealing with this kind of problems.

I know there is Boost.Compatibility [1] created exactly for this problem.
There are many places I include C headers in my code, so relying on
Boost.Compatibility would be an ideal solution for me so I don't have to
cripple my code. However, I see that many libraries deal with missing std::C
symbols themselves. Why do that and not leave it to Boost.Compatibility? By
that I mean require users to add it in include path of the compiler.

There is one more point to consider. The issue with the broken standard
headers is a sign of an ancient compiler. And if the compiler vendor by 2011
(when Sun Studio 12.3 was released) doesn't manage to ship conforming 1998
headers, I'd still consider it an ancient compiler. Boost recently removed
(removing?) support for ancient compilers. So, should I bother supporting this
compiler at all?

[1] http://www.boost.org/doc/libs/1_54_0/libs/compatibility/


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk