From patchwork Wed Apr 6 15:26:54 2022
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Xi Ruoyao
X-Patchwork-Id: 52681
Return-Path:
X-Original-To: patchwork@sourceware.org
Delivered-To: patchwork@sourceware.org
Received: from server2.sourceware.org (localhost [IPv6:::1])
by sourceware.org (Postfix) with ESMTP id 205563860004
for ; Wed, 6 Apr 2022 15:29:10 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 205563860004
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org;
s=default; t=1649258950;
bh=5mWRuOuigd1ikmC8z+K8wRKUtDyBdNRzwfrilV9rAYs=;
h=Subject:To:Date:In-Reply-To:References:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
From;
b=LPm6Z7jKOErwPieJf/A1yiv9i95oNM0beYVn4H/Rie8rYChkhtDZdZREmZbbhCgQs
Pyf3gVbT3FGMFPUYAkQM4InJBhAvgMfQqwO0w0CNq7QE/Pg8pHUa/nT3FVSL5GRxCx
ZhIgdcAM2GPuFb975vaoeOPfUSGVb0lr2o6F2y7s=
X-Original-To: gcc-patches@gcc.gnu.org
Delivered-To: gcc-patches@gcc.gnu.org
Received: from mengyan1223.wang (mengyan1223.wang [89.208.246.23])
by sourceware.org (Postfix) with ESMTPS id 809E2385E451;
Wed, 6 Apr 2022 15:27:02 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 809E2385E451
Received: from [IPv6:240e:358:1198:7700:dc73:854d:832e:4] (unknown
[IPv6:240e:358:1198:7700:dc73:854d:832e:4])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange ECDHE (P-256) server-signature ECDSA (P-384))
(Client did not present a certificate)
(Authenticated sender: xry111@mengyan1223.wang)
by mengyan1223.wang (Postfix) with ESMTPSA id 0022F65EF5;
Wed, 6 Apr 2022 11:26:57 -0400 (EDT)
Message-ID: <6144a58c030ee034e7f4d9cf481045c7b7c07af2.camel@mengyan1223.wang>
Subject: [wwwdocs PATCH v2] document zero-width field ABI changes on MIPS
To: gcc-patches@gcc.gnu.org
Date: Wed, 06 Apr 2022 23:26:54 +0800
In-Reply-To:
References:
User-Agent: Evolution 3.44.0
MIME-Version: 1.0
X-Spam-Status: No, score=-3038.5 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, JMQ_SPF_NEUTRAL,
SPF_HELO_PASS, SPF_PASS, TXREP,
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
server2.sourceware.org
X-BeenThere: gcc-patches@gcc.gnu.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Gcc-patches mailing list
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-Patchwork-Original-From: Xi Ruoyao via Gcc-patches
From: Xi Ruoyao
Reply-To: Xi Ruoyao
Cc: Richard Sandiford ,
Jakub Jelinek , YunQiang Su
Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org
Sender: "Gcc-patches"
Document ABI changes in r12-7961, 7962, and 8023. Ok for wwwdocs?
---
htdocs/gcc-12/changes.html | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html
index 4f2ee77f..c924bca3 100644
--- a/htdocs/gcc-12/changes.html
+++ b/htdocs/gcc-12/changes.html
@@ -50,6 +50,10 @@ a work-in-progress.
(so there is a C++ ABI incompatibility, GCC 4.4 and earlier compatible
with GCC 12 or later, incompatible with GCC 4.5 through GCC 11).
RISC-V has changed the handling of these already starting with GCC 10.
+ As the ABI requires, MIPS takes them into account handling function
+ return values so there is a C++ ABI incompatibility with GCC 4.5
+ through 11. For function arguments on MIPS, refer to
+ the MIPS specific entry.
GCC 12 on the above targets will report such incompatibilities as
warnings or other diagnostics unless -Wno-psabi
is used.
@@ -549,7 +553,26 @@ a work-in-progress.
-
+MIPS
+
+ - The ABI passing arguments
+ containing zero-width fields (for example, C/C++ zero-width
+ bit-fields, GNU C/C++ zero-length arrays, and GNU C empty structs)
+ has changed. Now a zero-width field will not prevent an aligned
+ 64-bit floating-point field next to it from being passed through
+ FPR. This is compatible with LLVM, but incompatible with previous
+ GCC releases. GCC 12 on MIPS will report such incompatibilities as
+ an inform unless
-Wno-psabi
is used.
+
+ - The ABI returning values
+ containing C++17 empty bases has changed. Now an empty base will
+ not prevent an aggregate containing only one or two floating-point
+ fields from being returned through FPR. This is compatible with
+ GCC 6 and earlier, but incompatible with GCC 7 through 11. GCC 12 on
+ MIPS will report such incompatibilities as an inform unless
+
-Wno-psabi
is used.
+
+