public inbox for gcc-cvs-wwwdocs@sourceware.org
help / color / mirror / Atom feed
* gcc-wwwdocs branch master updated. acc0159fd3172fd2279bb53b58c4afa4a3fceb40
@ 2023-01-28 11:14 Gerald Pfeifer
  0 siblings, 0 replies; only message in thread
From: Gerald Pfeifer @ 2023-01-28 11:14 UTC (permalink / raw)
  To: gcc-cvs-wwwdocs

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gcc-wwwdocs".

The branch, master has been updated
       via  acc0159fd3172fd2279bb53b58c4afa4a3fceb40 (commit)
      from  257cb0db2fdc3e56b76e9ca9b2bd19e71d079227 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit acc0159fd3172fd2279bb53b58c4afa4a3fceb40
Author: Gerald Pfeifer <gerald@pfeifer.com>
Date:   Sat Jan 28 12:11:23 2023 +0100

    faq: Remove "Copy constructor access check" entry
    
    This entry refers to changes in GCC 3.4 and GCC 4.3 which were released
    in 2004 and 2008, respectively, and this is hardly a FAQ any more.

diff --git a/htdocs/bugs/index.html b/htdocs/bugs/index.html
index aaef8915..96a5d0f0 100644
--- a/htdocs/bugs/index.html
+++ b/htdocs/bugs/index.html
@@ -605,56 +605,6 @@ a parse error before the character <code>:</code> (the colon before
 <p>The simplest way to avoid this is to write <code>std::vector&lt;
 ::X&gt;</code>, i.e. place a space between the opening angle bracket
 and the scope operator.</p></dd>
-
-
-<dt id="cxx_rvalbind">Copy constructor access check while initializing a
-reference.</dt>
-
-<dd><p>Consider this code:</p>
-
-<blockquote><pre>
-class A 
-{
-public:
-  A();
-
-private:
-  A(const A&amp;);   // private copy ctor
-};
-
-A makeA(void);
-void foo(const A&amp;);
-
-void bar(void)
-{
-  foo(A());       // error, copy ctor is not accessible
-  foo(makeA());   // error, copy ctor is not accessible
-
-  A a1;
-  foo(a1);        // OK, a1 is a lvalue
-}</pre></blockquote>
-
-<p>Starting with GCC 3.4.0, binding an rvalue to a const reference requires
-an accessible copy constructor. This might be surprising at first sight, 
-especially since most popular compilers do not correctly implement this 
-rule.</p>
-
-<p>The C++ Standard says that a temporary object should be created in 
-this context and its contents filled with a copy of the object we are 
-trying to bind to the reference; it also says that the temporary copy 
-can be elided, but the semantic constraints (eg. accessibility) of the 
-copy constructor still have to be checked.</p>
-
-<p>For further information, you can consult the following paragraphs of
-the C++ standard: [dcl.init.ref]/5, bullet 2, sub-bullet 1, and
-[class.temporary]/2.</p>
-
-<p>Starting with GCC 4.3.0, GCC no longer gives an error for this
-case.  This change is based on the
-<a href="https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#391">intent
-of the C++ language committee</a>.  As of 2010-05-28, the final
-proposed draft of the C++0x standard permits this code without error.</p>
-</dd>
 </dl>
 
 <h3 id="upgrading">Common problems when upgrading the compiler</h3>

-----------------------------------------------------------------------

Summary of changes:
 htdocs/bugs/index.html | 50 --------------------------------------------------
 1 file changed, 50 deletions(-)


hooks/post-receive
-- 
gcc-wwwdocs

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-01-28 11:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-28 11:14 gcc-wwwdocs branch master updated. acc0159fd3172fd2279bb53b58c4afa4a3fceb40 Gerald Pfeifer

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).