From patchwork Mon May 9 23:21:52 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Wilson X-Patchwork-Id: 67383 Delivered-To: patch@linaro.org Received: by 10.140.92.199 with SMTP id b65csp1836290qge; Mon, 9 May 2016 16:22:19 -0700 (PDT) X-Received: by 10.66.177.75 with SMTP id co11mr54580975pac.85.1462836139155; Mon, 09 May 2016 16:22:19 -0700 (PDT) Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id u90si40178016pfa.250.2016.05.09.16.22.18 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 09 May 2016 16:22:19 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-return-426918-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-426918-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-426918-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:cc:content-type; q=dns; s=default; b=byP3LS77rYaiTMzfLpC3XwPRIXZ8hwlkiau/N/ejnas 4l/nAZfjwFzd5xgSU0ozr7FGf5/jYP9P3sNc8ZPcUxQ7FbpCsRFI3N7xWZyIOoLG /3tyxfEukjXDymT2SCbk9zE2ndl7+BNJfbN3hi/o6Xet6zylSaLZXCNJtHTu6Y9Q = 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:cc:content-type; s=default; bh=9pKYLEGfEutq4Tr2/kf59hXiV4M=; b=WaiKdppH1ZjgRkyKR 46dNsGkfXXT1KXOSeLUX3Rn9zfJ+1RxMl2sbP7P5DqsF8QkQ6Ltpwan+zmui7Nd7 EM3jAf2bDcSebvbdHBWtsN0EbsspcrdkPWruOQcKEORq/R/7My1Zk4nloNwsnIDk NWiAfnNQpJO+Zapy/NlAwBB50Y= Received: (qmail 114090 invoked by alias); 9 May 2016 23:22:05 -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 114074 invoked by uid 89); 9 May 2016 23:22:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL, BAYES_00, KAM_ASCII_DIVIDERS, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=no version=3.3.2 spammy=U*olegendo, Hx-languages-length:3089, U*jason, olegendo@gcc.gnu.org X-HELO: mail-ob0-f170.google.com Received: from mail-ob0-f170.google.com (HELO mail-ob0-f170.google.com) (209.85.214.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 09 May 2016 23:21:54 +0000 Received: by mail-ob0-f170.google.com with SMTP id n10so91326865obb.2 for ; Mon, 09 May 2016 16:21:54 -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:cc; bh=i2pOWqRLyoMO+YLarj5KDcZMCUHAPp9YulRp8LLvyjY=; b=RI5SxqKxeVZZ8NraHHM84sFhFEd9UU0OOhYNqOcQEFugStOVgKSX4bRhw0OkK39uSY NJNjmiLGK7PRUq0t517RTiCZlFg/O9Lg+OEXVhHeyhAbVQEjd36B6Ej1Zm+I3Xpi7Cvy o+HW+cUxnbBVCsqZ06DuNCRVJBXwSZT+9ON4nGNPrfVczwp+mL71PIKB2VYdTffEaIsU GbjwBma4OlMBy9E9wsUwnx3tuRtGZexUu67olbNtHzLPfaExXfsqsB8L9SvhhUuVgzFu FrBWzgu5gZ55DXq2Y7jTOZhykOZQVnjtqNGHL1j6nfrbrAw2mUsl1sByAuUiNULvQMB7 Nw0g== X-Gm-Message-State: AOPr4FVKCqVUn3Utp7jHqr1+l2Tkr0GCDka3zw+W3nnDMqAsGbUT0XhzoK7ulOXnHrvTrBmfJ7OAgQZEyu0LCS/C MIME-Version: 1.0 X-Received: by 10.182.107.193 with SMTP id he1mr16183311obb.41.1462836112645; Mon, 09 May 2016 16:21:52 -0700 (PDT) Received: by 10.157.34.201 with HTTP; Mon, 9 May 2016 16:21:52 -0700 (PDT) Date: Mon, 9 May 2016 16:21:52 -0700 Message-ID: Subject: PING^4 [PATCH, GCC 5] PR 70613, -fabi-version docs don't match implementation From: Jim Wilson To: Bernd Schmidt Cc: "gcc-patches@gcc.gnu.org" , Jason Merrill 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 Maybe I didn't put enough info in the email the first 3 times? 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