This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [wwwdocs] Update C++ conformance status


On Sat, 21 Nov 2015, Jonathan Wakely wrote:
> I forgot to respond to this, and never committed the patch, sorry.
> 
> I've committed the changes to htdocs/projects/cxx0x.html now, but 
> not the htdocs/bugs/index.html change.

I wasn't opposed to the bugs/index.html change, mind.  Only 
wondering about the 3.x info.

> I agree that the 3.x info is not useful on that page. Maybe we should
> just drop the whole "Common problems when upgrading the compiler"
> section, because info on 3.x is outdated, nearly everybody understands
> that C++ compilers conform to the standard these days (even MS got in
> on that act eventually ;-) and the info about breaking the C++ ABI with
> every major release is just wrong!

Version-specific changes like the ones described here, and how to 
cope with them, are usually covered in gcc-*/porting_to.html these
days, perhaps we should add pointers from bugs.html?

I agree with your thoughts and went ahead and made a first set of
changes along these lines (patch below).

Absolutely go ahead and trim (or remove) this further.

There is also a section about "C++ non-bugs" where I am not sure
the current contents still makes a lot of sense?

Gerald

Index: index.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/bugs/index.html,v
retrieving revision 1.117
diff -u -r1.117 index.html
--- index.html	8 Oct 2015 15:06:00 -0000	1.117
+++ index.html	21 Nov 2015 15:40:43 -0000
@@ -688,8 +688,7 @@
 <h4>Standard conformance</h4>
 
 <p>With each release, we try to make G++ conform closer to the <a href=
-"http://www.open-std.org/jtc1/sc22/wg21/";>ISO C++ standard</a>.
-We have also implemented some of the core and library defect reports.</p>
+"http://www.open-std.org/jtc1/sc22/wg21/";>ISO C++ standard</a>.</p>
 
 <p>Non-conforming legacy code that worked with older versions of GCC may be
 rejected by more recent compilers.  There is no command-line switch to ensure
@@ -698,58 +697,6 @@
 However, some non-conforming constructs are allowed when the command-line
 option <code>-fpermissive</code> is used.</p>
 
-<p>Two milestones in standard conformance are GCC 3.0 (including a major
-overhaul of the standard library) and the 3.4.0 version (with its new C++
-parser).</p>
-
-<h4>New in GCC 3.0</h4>
-
-<ul>
-
-<li>The standard library is much more conformant, and uses the
-<code>std::</code> namespace (which is now a real namespace, not an
-alias for <code>::</code>).</li>
-
-<li>The standard header files for the c library don't end with
-<code>.h</code>, but begin with <code>c</code> (i.e.
-<code>&lt;cstdlib&gt;</code> rather than <code>&lt;stdlib.h&gt;</code>).
-The <code>.h</code> names are still available, but are deprecated.</li>
-
-<li><code>&lt;strstream&gt;</code> is deprecated, use
-<code>&lt;sstream&gt;</code> instead.</li>
-
-<li><code>streambuf::seekoff</code> &amp;
-<code>streambuf::seekpos</code> are private, instead use
-<code>streambuf::pubseekoff</code> &amp;
-<code>streambuf::pubseekpos</code> respectively.</li>
-
-<li>If <code>std::operator &lt;&lt; (std::ostream &amp;, long long)</code>
-doesn't exist, you need to recompile libstdc++ with
-<code>--enable-long-long</code>.</li>
-
-</ul>
-
-<p>If you get lots of errors about things like <code>cout</code> not being
-found, you've most likely forgotten to tell the compiler to look in the
-<code>std::</code> namespace.  There are several ways to do this:</p>
-
-<ul>
-
-<li>Say <code>std::cout</code> at the call.  This is the most explicit
-way of saying what you mean.</li>
-
-<li>Say <code>using std::cout;</code> somewhere before the call.  You
-will need to do this for each function or type you wish to use from the
-standard library.</li>
-
-<li>Say <code>using namespace std;</code> somewhere before the call.
-This is the quick-but-dirty fix. This brings the <em>whole</em> of the
-<code>std::</code> namespace into scope.  <em>Never</em> do this in a
-header file, as every user of your header file will be affected by this
-decision.</li>
-
-</ul>
-
 <h4><a name="new34">New in GCC 3.4.0</a></h4>
 
 <p>The new parser brings a lot of improvements, especially concerning


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]