From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30468 invoked by alias); 14 Feb 2020 14:55:06 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 30460 invoked by uid 89); 14 Feb 2020 14:55:06 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-3.9 required=5.0 tests=AWL,BAYES_50,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=dates, modi, Modi, recalled X-HELO: us-smtp-1.mimecast.com Received: from us-smtp-delivery-1.mimecast.com (HELO us-smtp-1.mimecast.com) (207.211.31.120) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 14 Feb 2020 14:55:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1581692102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+low2Vrqjj2h4DCSsvxBNk74AH8iVAeFmaO9vs1zpio=; b=BLM/1lCOepCgTuHa4WL5Tf7euwWDXlRCiyb7qjIx0qYGq5KVbrXoiiczcm+4JuRgmCnQYJ pePajgBuHS8UbW1MZll2oteQYWeGpnjer2kY7xUAfMIi43VyrYPP+wLhFkFRbWNoLPISDz UUJIADzT0W6pEBzhpGfKheB2IhnzM/s= Received: from mail-il1-f197.google.com (mail-il1-f197.google.com [209.85.166.197]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-209-VAnQ0_MFP_qElDCt16QnIA-1; Fri, 14 Feb 2020 09:54:56 -0500 Received: by mail-il1-f197.google.com with SMTP id h87so7725317ild.11 for ; Fri, 14 Feb 2020 06:54:56 -0800 (PST) MIME-Version: 1.0 References: <2f583ca8-56ea-460f-bcaf-c70108451aa8@palves.net> In-Reply-To: From: Jason Merrill Date: Fri, 14 Feb 2020 14:55:00 -0000 Message-ID: Subject: C++11 bootstrap (was: GCC selftest improvements) To: Modi Mo Cc: Nicholas Krause , David Malcolm , Eric Gallager , Pedro Alves , Gabriel Dos Reis , Andrew Dean , "gcc@gcc.gnu.org" , "ro@CeBiTec.Uni-Bielefeld.DE" , "mikestump@comcast.net" , "law@redhat.com" , Jonathan Wakely , Richard Biener X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2020-02/txt/msg00133.txt.bz2 On Thu, Feb 13, 2020 at 11:18 PM Modi Mo wrote: > > > On 2/12/20 8:53 PM, David Malcolm wrote: > > > Thanks for the patch. > > > > > > Some nitpicks: > > > > > > Timing-wise, the GCC developer community is focusing on gcc 10 > > > bugfixing right now (aka "stage 4" of the release cycle). So this > > > patch won't be suitable to commit to master until stage 1 of the > > > release cycle for gcc 11 (in April, hopefully). > > > > > Ah I should've looked a bit harder for timelines before asking https://gc= c.gnu.org/develop.html. Appreciate the response here! > > > > But yes, it's probably a good idea to get feedback on the patch given > > > the breadth of platforms we support. > > > > > > The patch will need an update to the docs; search for "Tools/packages > > > necessary for building GCC" in gcc/doc/install.texi, which currently > > > has some paragraphs labelled: > > > @item ISO C++98 compiler > > > that will need changing. > > > > > > I think Richi mentioned that the minimum gcc version should be 4.8.2 > > > as he recalled issues with .1, so maybe the error message and docs > > > should reflect that? > > > > > > https://gcc.gnu.org/ml/gcc/2019-10/msg00180.html > > > > > Segher here suggests 4.8.5 instead of 4.8.2: > https://gcc.gnu.org/ml/gcc/2019-11/msg00192.html > > Looking at release dates 4.8.5 was in June 2015 while 4.8.2 in October 20= 13 which is a pretty big gap. I'd for moving the needle as far as we reason= ably can since this is a leap anyways. @Segher do you have a reason in mind= for the higher versioning? > > > This may be opening a can of worms that should wait until we're done > > > with the GCC 10 release, but there's probably an eventual wider > > > discussion about what parts of C++11 we should use; pragmatically > > > we're also limited by gengtype, the tool that scrapes the source code > > > looking for garbage-collector markup, as that imposes a subset of C++= on us. > > > > > > I'd love to be able to rely on move semantics and thus use e.g. > > > std::unique_ptr to capture more of our memory-management in the type > > > system (we currently have a limited C++98-compatible implementation in > > > the tree in the form of gnu::unique_ptr). > > > > > > How much of the stdlib do we see ourselves using? I think we've > > > avoided std::string and the <<-style stream APIs; is there a case for > > > using some of the other data structures? > > > > > > For reference, see > > > > > > https://gcc.gnu.org/codingconventions.html#Cxx_Conventions > > > > > > Hope this is constructive. > > > Dave > > Dave, > > > > I recall originally bringing up the move. From memory I recall that the= se were > > the features we wanted or the people in the discussion wanted from C++1= 1: > > 1. Better Rounding and Stricter Integer and other number type rules 2. = Template > > Aliasing 3. Auto and for each style loops 4. Move and R Value Semantics > > > > Agreed on these features. I really like having access to 'for (const auto= & foo : bar)' > > There was a little discussion about lambas and anonymous functions but = I don't > > recall that being clear in terms of one of the above areas for sure. For information, bootstrap with 4.8.5 -std=3Dgnu++11 works now with no other changes. It seems the only other changes needed will be to documentation. Jason