On Sat, May 4, 2013 at 8:08 PM, Nelson, Clark <clark.nelson@intel.com> wrote:
> > Which of these is the behavior we want for these feature-test macros?I hit "Send" a little too fast on this one. I should have said something more like, "When an implementer implements a feature, he should arrange for the macro to be defined in the same circumstances under which he supports the feature." -- for example, under the control of the same command-line option(s).
> In my experience, __has_feature(X) is what you want when determining
> whether to use a language feature in normal code, but __has_extension(X)
> is what you want when determining whether to use a language feature in a
> system header.
>
> FWIW, I have always taken the view that, when an implementer implements
> a feature, he should define the macro.