public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* C++11 no longer experimental
@ 2011-09-21 17:51 Nathan Ridge
  2011-09-21 17:58 ` James Dennett
  2011-09-21 18:01 ` Jonathan Wakely
  0 siblings, 2 replies; 14+ messages in thread
From: Nathan Ridge @ 2011-09-21 17:51 UTC (permalink / raw)
  To: GCC Mailing List


Hello,

Now that the C++11 standard has been officially voted in, there is nothing
 "experimental" about it any more.

Would it be possible to remove the warning about GCC's C++11 support
being experimental from http://gcc.gnu.org/projects/cxx0x.html, and
to modify the __GXX_EXPERIMENTAL_CXX0X__ macro to be just
__GXX_CXX0X__ (or even better, __GXX_CXX11__)?

Thanks,
Nate
 		 	   		  

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-09-21 17:51 C++11 no longer experimental Nathan Ridge
@ 2011-09-21 17:58 ` James Dennett
  2011-09-21 18:01 ` Jonathan Wakely
  1 sibling, 0 replies; 14+ messages in thread
From: James Dennett @ 2011-09-21 17:58 UTC (permalink / raw)
  To: Nathan Ridge; +Cc: GCC Mailing List

On Wed, Sep 21, 2011 at 10:51 AM, Nathan Ridge <zeratul976@hotmail.com> wrote:
>
> Hello,
>
> Now that the C++11 standard has been officially voted in, there is nothing
>  "experimental" about it any more.
>
> Would it be possible to remove the warning about GCC's C++11 support
> being experimental from http://gcc.gnu.org/projects/cxx0x.html, and
> to modify the __GXX_EXPERIMENTAL_CXX0X__ macro to be just
> __GXX_CXX0X__ (or even better, __GXX_CXX11__)?
>
> Thanks,
> Nate

"Experimental" isn't really the right word anymore, and when GCC has
essentially full support of C++11 we'll want to update __cplusplus (I
hope!).  I don't know how worthwhile it is to introduce a third name
for testing the level of C++11 support in the interim.

-- James

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-09-21 17:51 C++11 no longer experimental Nathan Ridge
  2011-09-21 17:58 ` James Dennett
@ 2011-09-21 18:01 ` Jonathan Wakely
  2011-09-21 18:07   ` Jonathan Wakely
  1 sibling, 1 reply; 14+ messages in thread
From: Jonathan Wakely @ 2011-09-21 18:01 UTC (permalink / raw)
  To: Nathan Ridge; +Cc: GCC Mailing List

On 21 September 2011 18:51, Nathan Ridge wrote:
>
> Now that the C++11 standard has been officially voted in, there is nothing
>  "experimental" about it any more.

I thought the "experimental" refers to GCC's support, not the standard's status.

GCC's support didn't magically change when the standard was made
official.  (Arguably the support *is* good enough to not be labelled
experimental, but that change should be made because GCC's support is
good enough, not because C++11 is official.)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-09-21 18:01 ` Jonathan Wakely
@ 2011-09-21 18:07   ` Jonathan Wakely
  2011-09-21 18:26     ` Joe Buck
  0 siblings, 1 reply; 14+ messages in thread
From: Jonathan Wakely @ 2011-09-21 18:07 UTC (permalink / raw)
  To: Nathan Ridge; +Cc: GCC Mailing List

On 21 September 2011 19:00, Jonathan Wakely wrote:
> On 21 September 2011 18:51, Nathan Ridge wrote:
>>
>> Now that the C++11 standard has been officially voted in, there is nothing
>>  "experimental" about it any more.
>
> I thought the "experimental" refers to GCC's support, not the standard's status.

The page you linked to even makes that clear:

"Important: because the ISO C++0x draft is still evolving, GCC's
support for C++0x is *experimental*. No attempt will be made to
maintain backward compatibility with implementations of C++0x features
that do not reflect the final C++0x standard."

i.e. the experimental implies GCC's implementation and supported
feature set are not stable yet.  And that's still true, not all
features are implemented, and something might have to change
incompatibly to support the full C++11 feature set.  So I think it's
inappropriate to remove the experimental label until we're ready to
make some of guarantee of stability and that anything that works with
G++ 4.7 will continue to work.  I don't think we're at that stage yet,
because there are "accepts-invalid" bugs in our current C++11 support,
and they could be fixed first.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-09-21 18:07   ` Jonathan Wakely
@ 2011-09-21 18:26     ` Joe Buck
  2011-09-21 18:34       ` Jonathan Wakely
  2011-10-30 14:04       ` Gerald Pfeifer
  0 siblings, 2 replies; 14+ messages in thread
From: Joe Buck @ 2011-09-21 18:26 UTC (permalink / raw)
  To: Jonathan Wakely; +Cc: Nathan Ridge, GCC Mailing List

On Wed, Sep 21, 2011 at 11:07:07AM -0700, Jonathan Wakely wrote:
> On 21 September 2011 19:00, Jonathan Wakely wrote:
> > On 21 September 2011 18:51, Nathan Ridge wrote:
> >>
> >> Now that the C++11 standard has been officially voted in, there is nothing
> >>  "experimental" about it any more.
> >
> > I thought the "experimental" refers to GCC's support, not the standard's status.
> 
> The page you linked to even makes that clear:
> 
> "Important: because the ISO C++0x draft is still evolving, GCC's
> support for C++0x is *experimental*. No attempt will be made to
> maintain backward compatibility with implementations of C++0x features
> that do not reflect the final C++0x standard."

No, the page now claims something that is incorrect.  The C++0x draft is
no longer evolving.  C++11 is an official standard now.

It is still the case that the *GCC support for the standard* has to be
considered experimental, which means that it's not yet possible to freeze
the ABI and provide the same level of backward compatibility as is
provided for C++98.

Still, the page needs an update.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-09-21 18:26     ` Joe Buck
@ 2011-09-21 18:34       ` Jonathan Wakely
  2011-09-21 19:52         ` Jonathan Wakely
  2011-10-30 14:04       ` Gerald Pfeifer
  1 sibling, 1 reply; 14+ messages in thread
From: Jonathan Wakely @ 2011-09-21 18:34 UTC (permalink / raw)
  To: Joe Buck; +Cc: Nathan Ridge, GCC Mailing List

On 21 September 2011 19:25, Joe Buck wrote:
> On Wed, Sep 21, 2011 at 11:07:07AM -0700, Jonathan Wakely wrote:
>> On 21 September 2011 19:00, Jonathan Wakely wrote:
>> > On 21 September 2011 18:51, Nathan Ridge wrote:
>> >>
>> >> Now that the C++11 standard has been officially voted in, there is nothing
>> >>  "experimental" about it any more.
>> >
>> > I thought the "experimental" refers to GCC's support, not the standard's status.
>>
>> The page you linked to even makes that clear:
>>
>> "Important: because the ISO C++0x draft is still evolving, GCC's
>> support for C++0x is *experimental*. No attempt will be made to
>> maintain backward compatibility with implementations of C++0x features
>> that do not reflect the final C++0x standard."
>
> No, the page now claims something that is incorrect.  The C++0x draft is
> no longer evolving.  C++11 is an official standard now.

Yes, but that wasn't my point. The "experimental" never referred to
the status of C++0x/C++11, it referred to the support in GCC.  The
subject and original suggestion of this thread are based on the
premise that because C++11 is official something about GCC (except
documentation) has changed.

> It is still the case that the *GCC support for the standard* has to be
> considered experimental, which means that it's not yet possible to freeze
> the ABI and provide the same level of backward compatibility as is
> provided for C++98.

Exactly.

> Still, the page needs an update.

Sure, *all* our pages referring to C++0x need an update, and the
libstdc++ manual still refers to C++ 200x!

But let's not change the macro and break all the code that does:

#if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= someval

As James said, when it's no longer experimental the __cplusplus
macro's value will change (possible now that we *finally* set it
correctly for -std=c++98) and also the option to enable it should be
-std=c++11 / -std=gnu++11

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-09-21 18:34       ` Jonathan Wakely
@ 2011-09-21 19:52         ` Jonathan Wakely
  0 siblings, 0 replies; 14+ messages in thread
From: Jonathan Wakely @ 2011-09-21 19:52 UTC (permalink / raw)
  To: Joe Buck; +Cc: Nathan Ridge, GCC Mailing List

On 21 September 2011 19:34, Jonathan Wakely wrote:
> libstdc++ manual still refers to C++ 200x!

... which I already have a patch for, before someone reports it to Bugzilla :)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-09-21 18:26     ` Joe Buck
  2011-09-21 18:34       ` Jonathan Wakely
@ 2011-10-30 14:04       ` Gerald Pfeifer
  2011-10-30 14:50         ` Jonathan Wakely
                           ` (2 more replies)
  1 sibling, 3 replies; 14+ messages in thread
From: Gerald Pfeifer @ 2011-10-30 14:04 UTC (permalink / raw)
  To: Joe Buck, Jonathan Wakely, Jason Merrill; +Cc: Nathan Ridge, gcc

On Wed, 21 Sep 2011, Joe Buck wrote:
> No, the page now claims something that is incorrect.  The C++0x draft
> is no longer evolving.  C++11 is an official standard now.

How about the patch below?  It tries to reflect the release of
C++11.  There definitely will be more adjustments, but this is
a first step addressing the issue Joe raised (and a bit more).

Okay?  (I'll also be happy to make further changes.)

Gerald


Index: cxx0x.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/projects/cxx0x.html,v
retrieving revision 1.50
diff -u -r1.50 cxx0x.html
--- cxx0x.html	26 Oct 2011 19:48:57 -0000	1.50
+++ cxx0x.html	30 Oct 2011 13:11:47 -0000
@@ -1,6 +1,6 @@
 <html>
 <head>
-  <title>C++0x Support in GCC</title>
+  <title>C++0x/C++11 Support in GCC</title>
     <style type="text/css">
       /* <![CDATA[*/
         tr.separator { background: #ffffcc}
@@ -9,11 +9,11 @@
 </head>
 
 <body>
-  <h1>C++0x Support in GCC</h1>
+  <h1>C++0x/C++11 Support in GCC</h1>
 
-  <p>C++0x is the working name of the next ISO C++ standard, due by
-  the end of this decade, which introduces a host of new features into
-  the standard C++ language and library. This project seeks to
+  <p>C++0x was the working name of a new ISO C++ standard, which then
+  was released in 2011 as C++11 and introduces a host of new features
+  into the standard C++ language and library. This project seeks to
   implement new C++0x features in GCC and to make it one of the first
   compilers to bring C++0x to C++ programmers.</p>
 
@@ -27,10 +27,8 @@
       add <code>-std=gnu++0x</code> to your <code>g++</code> command
       line.</p>
 
-  <p><b>Important</b>: because the ISO C++0x draft is still evolving,
-  GCC's support for C++0x is <b>experimental</b>.  No attempt will be
-  made to maintain backward compatibility with implementations of
-  C++0x features that do not reflect the final C++0x standard.</p>
+  <p><strong>Important</strong>: GCC's support for C++11 is still
+  <strong>experimental</strong>.</p>
 
 <h2>C++0x Language Features</h2>
 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-10-30 14:04       ` Gerald Pfeifer
@ 2011-10-30 14:50         ` Jonathan Wakely
  2011-10-30 18:27         ` Oleg Endo
  2011-10-30 19:20         ` Jonathan Wakely
  2 siblings, 0 replies; 14+ messages in thread
From: Jonathan Wakely @ 2011-10-30 14:50 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: Joe Buck, Jason Merrill, Nathan Ridge, gcc

On 30 October 2011 13:14, Gerald Pfeifer wrote:
> @@ -9,11 +9,11 @@
>  </head>
>
>  <body>
> -  <h1>C++0x Support in GCC</h1>
> +  <h1>C++0x/C++11 Support in GCC</h1>
>
> -  <p>C++0x is the working name of the next ISO C++ standard, due by
> -  the end of this decade, which introduces a host of new features into
> -  the standard C++ language and library. This project seeks to
> +  <p>C++0x was the working name of a new ISO C++ standard, which then
> +  was released in 2011 as C++11 and introduces a host of new features
> +  into the standard C++ language and library. This project seeks to
>   implement new C++0x features in GCC and to make it one of the first
>   compilers to bring C++0x to C++ programmers.</p>

Just a small point of style:  I think "which was then released" reads
a bit more naturally than "which then was released"

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-10-30 14:04       ` Gerald Pfeifer
  2011-10-30 14:50         ` Jonathan Wakely
@ 2011-10-30 18:27         ` Oleg Endo
  2011-10-31  5:37           ` Gerald Pfeifer
  2011-10-30 19:20         ` Jonathan Wakely
  2 siblings, 1 reply; 14+ messages in thread
From: Oleg Endo @ 2011-10-30 18:27 UTC (permalink / raw)
  To: Gerald Pfeifer
  Cc: Joe Buck, Jonathan Wakely, Jason Merrill, Nathan Ridge, gcc

On Sun, 2011-10-30 at 14:14 +0100, Gerald Pfeifer wrote:

> +  <p>C++0x was the working name of a new ISO C++ standard, which then
> +  was released in 2011 as C++11 and introduces a host of new features
> +  into the standard C++ language and library. This project seeks to
>    implement new C++0x features in GCC and to make it one of the first
>    compilers to bring C++0x to C++ programmers.</p>

Since C++11 is now the official name, wouldn't it be better to use the
new name instead of the old one after the initial historical
introduction? :)
Like... 

C++0x was the working name of a new ISO C++ standard, which was then
released in 2011 as C++11 and introduces a host of new features
into the standard C++ language and library. This project seeks to
implement new C++11 features in GCC and to make it one of the first
compilers to bring C++11 to C++ programmers.

Cheers,
Oleg

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-10-30 14:04       ` Gerald Pfeifer
  2011-10-30 14:50         ` Jonathan Wakely
  2011-10-30 18:27         ` Oleg Endo
@ 2011-10-30 19:20         ` Jonathan Wakely
  2 siblings, 0 replies; 14+ messages in thread
From: Jonathan Wakely @ 2011-10-30 19:20 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: Joe Buck, Jason Merrill, Nathan Ridge, gcc

On 30 October 2011 13:14, Gerald Pfeifer wrote:
> On Wed, 21 Sep 2011, Joe Buck wrote:
>> No, the page now claims something that is incorrect.  The C++0x draft
>> is no longer evolving.  C++11 is an official standard now.
>
> How about the patch below?  It tries to reflect the release of
> C++11.  There definitely will be more adjustments, but this is
> a first step addressing the issue Joe raised (and a bit more).

I've changed my local tree to update all the references to C++0x in
the libstdc++ docs (except references to the -std=c++0x option) which
I'll check in when I get a chance.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-10-30 18:27         ` Oleg Endo
@ 2011-10-31  5:37           ` Gerald Pfeifer
  2011-10-31  9:36             ` Jason Merrill
  2011-11-01  3:56             ` Jason Merrill
  0 siblings, 2 replies; 14+ messages in thread
From: Gerald Pfeifer @ 2011-10-31  5:37 UTC (permalink / raw)
  To: Oleg Endo, Jason Merrill; +Cc: Joe Buck, Jonathan Wakely, Nathan Ridge, gcc

On Sun, 30 Oct 2011, Oleg Endo wrote:
> Since C++11 is now the official name, wouldn't it be better to use the 
> new name instead of the old one after the initial historical 
> introduction? :) Like...

Yes.  Originally I wanted to avoid that to get my patch in faster,
but since you ask.  Here is a more complete patch.

Jason?

Gerald

Index: cxx0x.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/projects/cxx0x.html,v
retrieving revision 1.50
diff -u -r1.50 cxx0x.html
--- cxx0x.html	26 Oct 2011 19:48:57 -0000	1.50
+++ cxx0x.html	30 Oct 2011 19:24:05 -0000
@@ -1,6 +1,6 @@
 <html>
 <head>
-  <title>C++0x Support in GCC</title>
+  <title>C++0x/C++11 Support in GCC</title>
     <style type="text/css">
       /* <![CDATA[*/
         tr.separator { background: #ffffcc}
@@ -9,15 +9,15 @@
 </head>
 
 <body>
-  <h1>C++0x Support in GCC</h1>
+  <h1>C++0x/C++11 Support in GCC</h1>
 
-  <p>C++0x is the working name of the next ISO C++ standard, due by
-  the end of this decade, which introduces a host of new features into
-  the standard C++ language and library. This project seeks to
-  implement new C++0x features in GCC and to make it one of the first
-  compilers to bring C++0x to C++ programmers.</p>
+  <p>C++0x was the working name of a new ISO C++ standard, which was
+  then released in 2011 as C++11 and introduces a host of new features
+  into the standard C++ language and library. This project seeks to
+  implement new C++11 features in GCC and to make it one of the first
+  compilers to bring C++11 to C++ programmers.</p>
 
-  <p>C++0x features are available as part of the "mainline" GCC
+  <p>C++11 features are available as part of the "mainline" GCC
     compiler in the trunk of
     <a href="../svn.html">GCC's Subversion
       repository</a> and in GCC 4.3 and later. To enable C++0x
@@ -27,27 +27,26 @@
       add <code>-std=gnu++0x</code> to your <code>g++</code> command
       line.</p>
 
-  <p><b>Important</b>: because the ISO C++0x draft is still evolving,
-  GCC's support for C++0x is <b>experimental</b>.  No attempt will be
-  made to maintain backward compatibility with implementations of
-  C++0x features that do not reflect the final C++0x standard.</p>
+  <p><strong>Important</strong>: GCC's support for C++11 is still
+  <strong>experimental</strong>.</p>
 
-<h2>C++0x Language Features</h2>
+<h2>C++11 Language Features</h2>
 
   <p>The following table lists new language features that have been
-  accepted into the C++0x draft standard. The "Proposal" column
+  accepted into the C++11 standard. The "Proposal" column
   provides a link to the ISO C++ committee proposal that describes the
   feature, while the "Available in GCC?" column indicates the first
   version of GCC that contains an implementation of this feature (if
   it has been implemented). For the most complete and up-to-date
-  information about new language features in C++0x, please see
+  information about new language features in C++11, please see
   the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/">ISO
   C++ Committee Papers</a> and look for the most recent "State of C++
   Evolution" paper by Alisdair Meridith. </p>
 
 <!-- 2009-04-07 based on n2869 post-san francisco -->
 
-  <p>For information about C++0x support in a specific version of GCC, please see:</p>
+  <p>For information about C++11 support in a specific version of GCC,
+  please see:</p>
   <ul>
     <li><a href="../gcc-4.3/cxx0x_status.html">GCC 4.3 C++0x Status</a></li>
     <li><a href="../gcc-4.4/cxx0x_status.html">GCC 4.4 C++0x Status</a></li>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-10-31  5:37           ` Gerald Pfeifer
@ 2011-10-31  9:36             ` Jason Merrill
  2011-11-01  3:56             ` Jason Merrill
  1 sibling, 0 replies; 14+ messages in thread
From: Jason Merrill @ 2011-10-31  9:36 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: Oleg Endo, Joe Buck, Jonathan Wakely, Nathan Ridge, gcc

On 10/30/2011 03:25 PM, Gerald Pfeifer wrote:
> -<p><b>Important</b>: because the ISO C++0x draft is still evolving,
> -  GCC's support for C++0x is<b>experimental</b>.  No attempt will be
> -  made to maintain backward compatibility with implementations of
> -  C++0x features that do not reflect the final C++0x standard.</p>
> +<p><strong>Important</strong>: GCC's support for C++11 is still
> +<strong>experimental</strong>.</p>

I'd keep the second sentence here.  Otherwise it looks good.

Jason

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: C++11 no longer experimental
  2011-10-31  5:37           ` Gerald Pfeifer
  2011-10-31  9:36             ` Jason Merrill
@ 2011-11-01  3:56             ` Jason Merrill
  1 sibling, 0 replies; 14+ messages in thread
From: Jason Merrill @ 2011-11-01  3:56 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: Oleg Endo, Joe Buck, Jonathan Wakely, Nathan Ridge, gcc

I've checked this in with some tweaks.

Jason

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2011-11-01  3:56 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-21 17:51 C++11 no longer experimental Nathan Ridge
2011-09-21 17:58 ` James Dennett
2011-09-21 18:01 ` Jonathan Wakely
2011-09-21 18:07   ` Jonathan Wakely
2011-09-21 18:26     ` Joe Buck
2011-09-21 18:34       ` Jonathan Wakely
2011-09-21 19:52         ` Jonathan Wakely
2011-10-30 14:04       ` Gerald Pfeifer
2011-10-30 14:50         ` Jonathan Wakely
2011-10-30 18:27         ` Oleg Endo
2011-10-31  5:37           ` Gerald Pfeifer
2011-10-31  9:36             ` Jason Merrill
2011-11-01  3:56             ` Jason Merrill
2011-10-30 19:20         ` Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).