From patchwork Mon May 16 22:35:55 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Wilson X-Patchwork-Id: 67917 Delivered-To: patch@linaro.org Received: by 10.140.92.199 with SMTP id b65csp1767122qge; Mon, 16 May 2016 15:36:22 -0700 (PDT) X-Received: by 10.98.103.28 with SMTP id b28mr49758299pfc.155.1463438182440; Mon, 16 May 2016 15:36:22 -0700 (PDT) Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id 62si48520831pfm.150.2016.05.16.15.36.22 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 May 2016 15:36:22 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-return-427407-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org; spf=pass (google.com: domain of gcc-patches-return-427407-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-427407-patch=linaro.org@gcc.gnu.org; dmarc=fail (p=NONE dis=NONE) header.from=linaro.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:date:message-id:subject:from:to:content-type; q= dns; s=default; b=Xa3KXONs22Nda4ZUeCQrYboQfup/CN6eH+RybbKmXmByQZ 1G0v6DdAN9gOALmuDCrmDFN8IQdCYjaq2yeHkqoi3eOvHoSJgTqOKeQme8CUvHHe J6oRoBqgqIb3Yb10iUgVlTATEHMcnllVNJBpgE+TqmCJEJtc208xd512Xvnvs= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:date:message-id:subject:from:to:content-type; s= default; bh=hG6F2pZaQxUyJCRZaiAUGtAYNPI=; b=OQnysXnjdvi31xhvqS+e FzvedxmJ2+0/7pfIjGXzwL7ErKsoAycpIyuEB9uVyaoEvGO500O5fETBAi+lagiW Aell6gQeBwGr/rX/hgK3eqzI9unQN/D91sj8QZ97rmTmRFjUDY4VcNciW5h91Ms2 fBMyp8a0Ffx9pS64eaX/M4Y= Received: (qmail 124804 invoked by alias); 16 May 2016 22:36:10 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 124793 invoked by uid 89); 16 May 2016 22:36:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL, BAYES_00, KAM_ASCII_DIVIDERS, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=no version=3.3.2 spammy=approve, 5.1, hunks, Oleg X-HELO: mail-oi0-f47.google.com Received: from mail-oi0-f47.google.com (HELO mail-oi0-f47.google.com) (209.85.218.47) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 16 May 2016 22:35:57 +0000 Received: by mail-oi0-f47.google.com with SMTP id v145so290793808oie.0 for ; Mon, 16 May 2016 15:35:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to; bh=Tujq1CClXSg+grjmdFG8cnm+YzoO8J/zK7cdwPe8FO8=; b=Rl6R1mfcXWx64bPyagTT+A0CXUR/CtV0v4gQwh3RhPgTFobn/0jSNO1vtLcV5s2RER zKMfjnVcH6f2wLgotxkHNhAAcYLIcaPI/8EiHwE2zgQ6E6qRoQKpSwL99pYoI/DChRu+ 694fLEISB2G+qf8ugbJgA3JZvuepz/TG+7aSU3x10JCQlExZhuxtXpCNM2rPdkq9LL4T P5z8xm0ghIR4Wg8Dq1U2w9DVHp/cOCyohjtI95vMvYvsO/nfFQX4h2sNxg5yte5+bvan 1ta0A0xhNAdtGpB4ZN7F7qwzg51KbWIlX5VtuXV7iXrH3+Aazb6aQ9nso5QLKMpbB4LC 1jhg== X-Gm-Message-State: AOPr4FUAlr/pqhi00ABaeeElXxAbQrWO4OJE0xXa2D1Qdi+dhtWWgJMwuiEY1Fb12DdNkJtirUEkEPr3lOGBl6EJ MIME-Version: 1.0 X-Received: by 10.157.14.166 with SMTP id 35mr19570595otj.158.1463438155738; Mon, 16 May 2016 15:35:55 -0700 (PDT) Received: by 10.157.35.91 with HTTP; Mon, 16 May 2016 15:35:55 -0700 (PDT) Date: Mon, 16 May 2016 15:35:55 -0700 Message-ID: Subject: Re: PING^5 [PATCH, GCC 5] PR 70613, -fabi-version docs don't match implementation From: Jim Wilson To: "gcc-patches@gcc.gnu.org" This is my fifth ping. I just need someone to rubber stamp it so I can check it in. Maybe it would be easier if I volunteered to be a doc maintainer so I can self approve it? Jim On Mon, May 9, 2016 at 4:21 PM, Jim Wilson wrote: > On Mon, May 2, 2016 at 12:13 PM, Jim Wilson wrote: >> Here is a patch to correct the -fabi-version docs on the GCC 5 branch. >> https://gcc.gnu.org/ml/gcc-patches/2016-04/msg00480.html > > You can see the default -fabi-version in gcc/c-family/c-opts.c on the > gcc-5 branch which has > > /* Change flag_abi_version to be the actual current ABI level for the > benefit of c_cpp_builtins. */ > if (flag_abi_version == 0) > flag_abi_version = 9; > > You can see in the docs that -fabi-version only goes up to 8. > https://gcc.gnu.org/onlinedocs/gcc-5.3.0/gcc/C_002b_002b-Dialect-Options.html#C_002b_002b-Dialect-Options > > As for how we got here... > I see that the patch for bug 65945 was back ported to the gcc-5 > branch, which required a partial backport of the patch for bug 44282, > which added abi version 9. The original patch for 44282 is missing > the doc change. > > The missing doc change was then added here > https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=228017 > which has the invoke.texi hunk we need, but is missing a ChangeLog > entry for it. So it appears all we need is a partial backport of this > invoke.texi hunk. This is mostly documenting a change to -Wabi, so we > only need parts of two hunks that document -fabi-version=9 and mention > gcc-5.2. > > The patch is attached again. > > Jim Index: ChangeLog =================================================================== --- ChangeLog (revision 234867) +++ ChangeLog (working copy) @@ -1,3 +1,12 @@ +2016-04-11 Jim Wilson + + Partial backport from trunk r228017. + 2015-09-22 Jason Merrill + + PR c++/70613 + * doc/invoke.texi (-fabi-version): Document version 9. + (-Wabi): Document version 9. Mention version 8 is default for GCC 5.1. + 2016-04-09 Oleg Endo Backport from mainline Index: doc/invoke.texi =================================================================== --- doc/invoke.texi (revision 234867) +++ doc/invoke.texi (working copy) @@ -2118,6 +2118,9 @@ scope. Version 8, which first appeared in G++ 4.9, corrects the substitution behavior of function types with function-cv-qualifiers. +Version 9, which first appeared in G++ 5.2, corrects the alignment of +@code{nullptr_t}. + See also @option{-Wabi}. @item -fabi-compat-version=@var{n} @@ -2619,7 +2622,15 @@ When mangling a function type with function-cv-qua un-qualified function type was incorrectly treated as a substitution candidate. -This was fixed in @option{-fabi-version=8}. +This was fixed in @option{-fabi-version=8}, the default for GCC 5.1. + +@item +@code{decltype(nullptr)} incorrectly had an alignment of 1, leading to +unaligned accesses. Note that this did not affect the ABI of a +function with a @code{nullptr_t} parameter, as parameters have a +minimum alignment. + +This was fixed in @option{-fabi-version=9}, the default for GCC 5.2. @end itemize It also warns about psABI-related changes. The known psABI changes at this