* [wwwdocs PATCH] document zero-width field ABI changes on MIPS
@ 2022-04-01 16:32 Xi Ruoyao
2022-04-06 15:26 ` [wwwdocs PATCH v2] " Xi Ruoyao
0 siblings, 1 reply; 5+ messages in thread
From: Xi Ruoyao @ 2022-04-01 16:32 UTC (permalink / raw)
To: gcc-patches; +Cc: Jakub Jelinek, Richard Sandiford, YunQiang Su
Document PR102024 change (r12-7961 and 7962) for MIPS. Ok for wwwdocs?
--
htdocs/gcc-12/changes.html | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html
index 4e1f6b0f..a2d8156f 100644
--- a/htdocs/gcc-12/changes.html
+++ b/htdocs/gcc-12/changes.html
@@ -50,6 +50,10 @@ a work-in-progress.</p>
(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
+ <a href="#mips_zero_width_fields">the MIPS specific entry</a>.
GCC 12 on the above targets will report such incompatibilities as
warnings or other diagnostics unless <code>-Wno-psabi</code> is used.
</li>
@@ -549,7 +553,18 @@ a work-in-progress.</p>
</li>
</ul>
-<!-- <h3 id="mips">MIPS</h3> -->
+<h3 id="mips">MIPS</h3>
+<ul>
+ <li>The <a name="mips_zero_width_fields">ABI</a> 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 <code>-Wno-psabi</code> is used.
+ </li>
+</ul>
<!-- <h3 id="mep">MeP</h3> -->
--
2.35.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [wwwdocs PATCH v2] document zero-width field ABI changes on MIPS
2022-04-01 16:32 [wwwdocs PATCH] document zero-width field ABI changes on MIPS Xi Ruoyao
@ 2022-04-06 15:26 ` Xi Ruoyao
2022-04-28 17:28 ` [PING wwwdocs " Xi Ruoyao
2022-05-12 7:00 ` [wwwdocs " Gerald Pfeifer
0 siblings, 2 replies; 5+ messages in thread
From: Xi Ruoyao @ 2022-04-06 15:26 UTC (permalink / raw)
To: gcc-patches; +Cc: Richard Sandiford, Jakub Jelinek, YunQiang Su
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.</p>
(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
+ <a href="#mips_zero_width_fields">the MIPS specific entry</a>.
GCC 12 on the above targets will report such incompatibilities as
warnings or other diagnostics unless <code>-Wno-psabi</code> is used.
</li>
@@ -549,7 +553,26 @@ a work-in-progress.</p>
</li>
</ul>
-<!-- <h3 id="mips">MIPS</h3> -->
+<h3 id="mips">MIPS</h3>
+<ul>
+ <li>The <a name="mips_zero_width_fields">ABI</a> 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 <code>-Wno-psabi</code> is used.
+ </li>
+ <li>The <a name="mips_cxx17_empty_bases">ABI</a> 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
+ <code>-Wno-psabi</code> is used.
+ </li>
+</ul>
<!-- <h3 id="mep">MeP</h3> -->
--
2.35.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PING wwwdocs PATCH v2] document zero-width field ABI changes on MIPS
2022-04-06 15:26 ` [wwwdocs PATCH v2] " Xi Ruoyao
@ 2022-04-28 17:28 ` Xi Ruoyao
2022-04-29 6:51 ` Richard Biener
2022-05-12 7:00 ` [wwwdocs " Gerald Pfeifer
1 sibling, 1 reply; 5+ messages in thread
From: Xi Ruoyao @ 2022-04-28 17:28 UTC (permalink / raw)
To: gcc-patches; +Cc: Richard Sandiford, Jakub Jelinek, YunQiang Su
Ping.
On Wed, 2022-04-06 at 23:26 +0800, Xi Ruoyao via Gcc-patches wrote:
> 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.</p>
> (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
> + <a href="#mips_zero_width_fields">the MIPS specific entry</a>.
> GCC 12 on the above targets will report such incompatibilities as
> warnings or other diagnostics unless <code>-Wno-psabi</code> is used.
> </li>
> @@ -549,7 +553,26 @@ a work-in-progress.</p>
> </li>
> </ul>
>
> -<!-- <h3 id="mips">MIPS</h3> -->
> +<h3 id="mips">MIPS</h3>
> +<ul>
> + <li>The <a name="mips_zero_width_fields">ABI</a> 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 <code>-Wno-psabi</code> is used.
> + </li>
> + <li>The <a name="mips_cxx17_empty_bases">ABI</a> 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
> + <code>-Wno-psabi</code> is used.
> + </li>
> +</ul>
>
> <!-- <h3 id="mep">MeP</h3> -->
>
--
Xi Ruoyao <xry111@mengyan1223.wang>
School of Aerospace Science and Technology, Xidian University
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PING wwwdocs PATCH v2] document zero-width field ABI changes on MIPS
2022-04-28 17:28 ` [PING wwwdocs " Xi Ruoyao
@ 2022-04-29 6:51 ` Richard Biener
0 siblings, 0 replies; 5+ messages in thread
From: Richard Biener @ 2022-04-29 6:51 UTC (permalink / raw)
To: Xi Ruoyao; +Cc: GCC Patches, Richard Sandiford, Jakub Jelinek, YunQiang Su
On Thu, Apr 28, 2022 at 7:30 PM Xi Ruoyao via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Ping.
OK.
> On Wed, 2022-04-06 at 23:26 +0800, Xi Ruoyao via Gcc-patches wrote:
> > 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.</p>
> > (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
> > + <a href="#mips_zero_width_fields">the MIPS specific entry</a>.
> > GCC 12 on the above targets will report such incompatibilities as
> > warnings or other diagnostics unless <code>-Wno-psabi</code> is used.
> > </li>
> > @@ -549,7 +553,26 @@ a work-in-progress.</p>
> > </li>
> > </ul>
> >
> > -<!-- <h3 id="mips">MIPS</h3> -->
> > +<h3 id="mips">MIPS</h3>
> > +<ul>
> > + <li>The <a name="mips_zero_width_fields">ABI</a> 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 <code>-Wno-psabi</code> is used.
> > + </li>
> > + <li>The <a name="mips_cxx17_empty_bases">ABI</a> 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
> > + <code>-Wno-psabi</code> is used.
> > + </li>
> > +</ul>
> >
> > <!-- <h3 id="mep">MeP</h3> -->
> >
>
> --
> Xi Ruoyao <xry111@mengyan1223.wang>
> School of Aerospace Science and Technology, Xidian University
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [wwwdocs PATCH v2] document zero-width field ABI changes on MIPS
2022-04-06 15:26 ` [wwwdocs PATCH v2] " Xi Ruoyao
2022-04-28 17:28 ` [PING wwwdocs " Xi Ruoyao
@ 2022-05-12 7:00 ` Gerald Pfeifer
1 sibling, 0 replies; 5+ messages in thread
From: Gerald Pfeifer @ 2022-05-12 7:00 UTC (permalink / raw)
To: Xi Ruoyao; +Cc: gcc-patches, Richard Sandiford, Jakub Jelinek, YunQiang Su
On Wed, 6 Apr 2022, Xi Ruoyao via Gcc-patches wrote:
> Document ABI changes in r12-7961, 7962, and 8023. Ok for wwwdocs?
Thank you!
Note <a name=...> is deprecated, and we generally use id= attributes.
I made this change, and also expanded the anchor from just "ABI" which
is very generic to more specific text.
Pushed on top of the original changes.
Gerald
diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html
index 60ed4b32..d645b15f 100644
--- a/htdocs/gcc-12/changes.html
+++ b/htdocs/gcc-12/changes.html
@@ -709,8 +709,8 @@ function Multiply (S1, S2 : Sign) return Sign is
<h3 id="mips">MIPS</h3>
<ul>
- <li>The <a name="mips_zero_width_fields">ABI</a> passing arguments
- containing zero-width fields (for example, C/C++ zero-width
+ <li>The <a id="mips_zero_width_fields">ABI passing arguments
+ containing zero-width fields</a> (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
@@ -718,8 +718,8 @@ function Multiply (S1, S2 : Sign) return Sign is
GCC releases. GCC 12 on MIPS will report such incompatibilities as
an inform unless <code>-Wno-psabi</code> is used.
</li>
- <li>The <a name="mips_cxx17_empty_bases">ABI</a> returning values
- containing C++17 empty bases has changed. Now an empty base will
+ <li>The <a id="mips_cxx17_empty_bases">ABI returning values
+ containing C++17 empty bases</a> 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
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-05-12 7:00 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-01 16:32 [wwwdocs PATCH] document zero-width field ABI changes on MIPS Xi Ruoyao
2022-04-06 15:26 ` [wwwdocs PATCH v2] " Xi Ruoyao
2022-04-28 17:28 ` [PING wwwdocs " Xi Ruoyao
2022-04-29 6:51 ` Richard Biener
2022-05-12 7:00 ` [wwwdocs " Gerald Pfeifer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).