C++ Logo

SG10

Advanced search

Subject: Re: [SG10] __has_include
From: Nelson, Clark (clark.nelson_at_[hidden])
Date: 2013-06-21 11:01:50


> 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


SG10 list run by sg10-owner@lists.isocpp.org