From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 4CC24394848F for ; Tue, 8 Dec 2020 13:08:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4CC24394848F Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-469-vYcKlTpfN1e4CsHC9e8Rwg-1; Tue, 08 Dec 2020 08:08:19 -0500 X-MC-Unique: vYcKlTpfN1e4CsHC9e8Rwg-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 756271009B61; Tue, 8 Dec 2020 13:07:39 +0000 (UTC) Received: from localhost (unknown [10.33.36.246]) by smtp.corp.redhat.com (Postfix) with ESMTP id 19A801042A45; Tue, 8 Dec 2020 13:07:38 +0000 (UTC) Date: Tue, 8 Dec 2020 13:07:38 +0000 From: Jonathan Wakely To: gcc-patches@gcc.gnu.org Cc: libstdc++@gcc.gnu.org Subject: [wwwdocs] Document libstdc++ changes in GCC 11 Message-ID: <20201208130738.GA4193258@redhat.com> MIME-Version: 1.0 X-Clacks-Overhead: GNU Terry Pratchett X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="mYCpIKhGyMATD0i+" Content-Disposition: inline X-Spam-Status: No, score=-13.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Dec 2020 13:08:23 -0000 --mYCpIKhGyMATD0i+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Also add porting-to notes about tr1::bind. Pushed to wwwdocs. --mYCpIKhGyMATD0i+ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="patch.txt" commit 927e80dc01f505a625f1fcc4e1ca38aeb9f88e67 Author: Jonathan Wakely Date: Tue Dec 8 13:05:42 2020 +0000 Document libstdc++ changes in GCC 11 Also add porting-to notes about tr1::bind. diff --git a/htdocs/gcc-11/changes.html b/htdocs/gcc-11/changes.html index 4d3efed5..50e35505 100644 --- a/htdocs/gcc-11/changes.html +++ b/htdocs/gcc-11/changes.html @@ -239,7 +239,28 @@ a work-in-progress.

- +

Runtime Library (libstdc++)

+
    +
  • Improved C++17 support, including: +
      +
    • std::from_chars for floating-point types. +
        + +
      • Improved experimental C++2a support, including: +
          +
        • Calendar additions to <chrono>.
        • +
        • std::bit_cast
        • +
        • std::source_location
        • +
        • Atomic wait and notify operations.
        • +
        • <latch> and <semaphore>
        • +
        • <syncstream>
        • +
        • Efficient access to basic_stringbuf's buffer.
        • +
        +
      • +
      • Faster std::uniform_int_distribution, + thanks to Daniel Lemire. +
      • +

      Fortran

      diff --git a/htdocs/gcc-11/porting_to.html b/htdocs/gcc-11/porting_to.html index 41efc3b6..4187dd8e 100644 --- a/htdocs/gcc-11/porting_to.html +++ b/htdocs/gcc-11/porting_to.html @@ -114,6 +114,33 @@ be included explicitly when compiled with GCC 11:
    +

    Old iostream Members

    +

    +The deprecated iostream members ios_base::io_state, +ios_base::open_mode, ios_base::seek_dir, and +basic_streambuf::stossc are not available in C++17 mode. +References to those members should be replaced by std::iostate, +std::openmode, std::seekdir, and +basic_streambuf::sbumpc respectively. +

    + +

    Call of overloaded 'bind(...)' is ambiguous

    +

    +The placeholders for std::tr1::bind have been changed to use +the same placeholder objects as std::bind. This means that +following using std::tr1::bind; an unqualified call to +bind(f, std::tr1::placeholders::_1) may be ambiguous. +This happens because std::tr1::bind is brought into scope by +the using-declaration and std::bind is found by +Argument-Dependent Lookup due to the type of the _1 placeholder. +

    +

    +To resolve this ambiguity replace unqualified calls to bind +with std::tr1::bind or std::bind. Alternatively, +change the code to not include the <tr1/functional> header, +so that only std::bind is declared. +

    + --mYCpIKhGyMATD0i+--