Date: Tue, 18 Jun 2013 19:19:49 -0700
> Here's an updated document. I have added a short preface describing
> to WG21 how we're trying to accomplish our goals, with some rationale
> for our approach. This revision also reflects more complete feedback
> from authors about names appropriate to their features.
Thanks Clark.
> In the C++14 table, we'll need to select among the presented names.
> In particular, we need to figure out what to do about constexpr.
I've been dodging a paper on constexpr for this group, or a survey of
library type issues. Here's my WIP:
http://sunglint.wordpress.com/2013/06/16/compile-feature-testing/
The more I look at constexpr, and the draft recommendations, the more I
think that we should be aiming for something simple for chicago.
Therefore, I'm in favor of just
__cplusplus_constexpr
and setting different values to determine what level of language
support is being specified.
IMHO, if this group starts coming up with 4 macros to detail what
version of constexpr is in play, it's going to be too confusing to use
in practice. What do these macros mean again? Etc.
>
> There's also the question of whether language-feature macros should
> be predefined, or defined by a new header.
I would have said this was one of the three things that we have a
definite consensus on.
;)
I thought there was a consensus for all language features as
predefined. I don't really see any other option, frankly.
> The C++11 and conditionally-supported construct tables are new and
> need detailed consideration.
Even C++98.
If I have feature testing for constexpr and lambda before there's
actually a vendor-agreed-on way to check for exceptions, a
decade-long plus portability issue, a small part of me is going to die
inside.
-benjamin
> to WG21 how we're trying to accomplish our goals, with some rationale
> for our approach. This revision also reflects more complete feedback
> from authors about names appropriate to their features.
Thanks Clark.
> In the C++14 table, we'll need to select among the presented names.
> In particular, we need to figure out what to do about constexpr.
I've been dodging a paper on constexpr for this group, or a survey of
library type issues. Here's my WIP:
http://sunglint.wordpress.com/2013/06/16/compile-feature-testing/
The more I look at constexpr, and the draft recommendations, the more I
think that we should be aiming for something simple for chicago.
Therefore, I'm in favor of just
__cplusplus_constexpr
and setting different values to determine what level of language
support is being specified.
IMHO, if this group starts coming up with 4 macros to detail what
version of constexpr is in play, it's going to be too confusing to use
in practice. What do these macros mean again? Etc.
>
> There's also the question of whether language-feature macros should
> be predefined, or defined by a new header.
I would have said this was one of the three things that we have a
definite consensus on.
;)
I thought there was a consensus for all language features as
predefined. I don't really see any other option, frankly.
> The C++11 and conditionally-supported construct tables are new and
> need detailed consideration.
Even C++98.
If I have feature testing for constexpr and lambda before there's
actually a vendor-agreed-on way to check for exceptions, a
decade-long plus portability issue, a small part of me is going to die
inside.
-benjamin
Received on 2013-06-19 05:04:03