C++ Logo

sg10

Advanced search

Re: [SG10] __has_include

From: Nelson, Clark <clark.nelson_at_[hidden]>
Date: Fri, 21 Jun 2013 16:01:50 +0000
> After all, 2 compilers with __has_include is better than the zero
> compilers that define the other macros we are recommending :-)

That's a good point, and it has caused me to think more about exactly what
"the interim" means, and more specifically, when it starts. When I first
used it, without really thinking about it, I took it to start now --
whatever "now" means.

Practically, though, the troublesome interval starts only when an
implementation ships either of the headers <optional> or <dynarray>, and as
long as __has_include is available in that same release, the troublesome
interval is empty. That would seem to give implementations ample opportunity
to avoid the problem.

But a library-only product that doesn't ship with a compiler doesn't have
that opportunity. For the sake of Dinkumware, STLPort and Rogue Wave, I
think we need to recommend specific macros, even if we also recommend
__has_include.

> I am very troubled by the <cstddef> vs. <stddef.h> issue that was
> brought up and consider that a compelling reason not to introduce
> macros into either or both of those headers.

That doesn't trouble me, but it obviously troubles some. Is anyone up for
<utility> as an alternative to <cstddef>?

Clark

Received on 2013-06-21 18:02:29