[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Selecting a C++ standard

From: Roger Leigh
Subject: Re: Selecting a C++ standard
Date: Thu, 10 Jan 2013 23:00:14 +0000
User-agent: Mutt/1.5.21 (2010-09-15)

On Sat, Oct 27, 2012 at 01:55:58PM -0700, Paul Eggert wrote:
> On 10/27/2012 01:38 PM, Roger Leigh wrote:
> > Is anyone working on such a thing?
> Not that I know of.
> For C, we're deprecating the "I want version X"
> macros in favor of just AC_PROG_CC_STDC, which says
> "I want the latest version".  You might want to do
> that for C++ to, as it's more the Autoconf Way.

Sorry to revisit this again, but I got distracted by other things
and didn't have time to finish following up at the time.  Reading
back through the thread, I didn't really feel that we came to
any real solution here which would actually allow an autoconf
user to usefully enable and use C++11 features.  Unless I missed
it, I didn't really see any definite conclusions about what to do

It seems there are two related but somewhat orthogonal requirements
1) Putting the compiler into a specific "mode" for a certain
   level of standards conformance.
2) Feature tests to ensure that certain features are present (or
   possible to emulate for absent features which can be substituted
   for).  These could be done whether (1) succeeded or failed, but
   would have a higher chance of success if it succeeded.

In order to make use of a C++11 feature, we need to make sure that
a best effort has been made to put the compiler into the appropriate
mode, e.g. -std=gnu++11.  Only once that is done is it meaningful to
perform a feature test.

Given in the discussion that examples were provided where selecting
the latest version was not always a desirable behaviour, is providing
the macros for specific standards versions still needed?  And with
respect to feature test macros, do we need to provide macros for
every single language feature, or could we have a core set performed
as part of the mode selection which could correspond to the base
functionality in GCC (and other compiler) versions implementing that
level.  This would provide a minimum guarantee of what functionality
could be expected (to save every user from having to explicitly
check for every common feature needlessly).


  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux
 `. `'   schroot and sbuild
   `-    GPG Public Key      F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800

reply via email to

[Prev in Thread] Current Thread [Next in Thread]