On Mon, Dec 1, 2025 at 9:57 AM Saurabh Jha via Sourceware Forge <[email protected]> wrote: > > Hi gcc-patches mailing list, > Saurabh Jha <[email protected]> has requested that the following > forgejo pull request > be published on the mailing list. > > Created on: 2025-10-28 12:52:52+00:00 > Latest update: 2025-12-01 17:56:46+00:00 > Changes: 19 changed files, 753 additions, 32 deletions > Head revision: saurabh.jha/gcc-TEST ref mingw-data-types-abi commit > e6acffa59cac8a7b5e68053b8daab9c5842b4ba9 > Base revision: gcc/gcc-TEST ref trunk commit > 1927a43b1e824b591ffc750a49b22221796f4005 r16-5798-g1927a43b1e824b > Merge base: 1927a43b1e824b591ffc750a49b22221796f4005 > Full diff url: https://forge.sourceware.org/gcc/gcc-TEST/pulls/118.diff > Discussion: https://forge.sourceware.org/gcc/gcc-TEST/pulls/118 > Requested Reviewers: pinskia > > Hey, > > Addressed Andrew's comment from here: > https://forge.sourceware.org/gcc/gcc-TEST/pulls/118#issuecomment-4308
ok. I am pushing this in a few minutes. > > No other changes. > > Thanks, > Saurabh > > Saurabh Jha (3): > aarch64: mingw: emit seh_endproc as comment > aarch64: mingw: Make long double 64 bit > aarch64: mingw: Implement support for variadic ABI > > gcc/config.gcc | 3 +- > gcc/config/aarch64/aarch64-abi-ms-protos.h | 34 +++ > gcc/config/aarch64/aarch64-abi-ms.cc | 106 ++++++++ > gcc/config/aarch64/aarch64-abi-ms.h | 18 ++ > gcc/config/aarch64/aarch64-builtins.cc | 33 +++ > gcc/config/aarch64/aarch64-coff.h | 5 - > gcc/config/aarch64/aarch64-protos.h | 1 + > gcc/config/aarch64/aarch64.cc | 247 ++++++++++++++++-- > gcc/config/aarch64/aarch64.h | 16 ++ > gcc/config/aarch64/cygming.h | 5 +- > gcc/config/aarch64/t-aarch64-mingw | 25 ++ > gcc/config/mingw/winnt.cc | 22 ++ > gcc/config/mingw/winnt.h | 1 + > .../aarch64/mingw/long_double_size.c | 23 ++ > .../gcc.target/aarch64/mingw/mingw.exp | 41 +++ > .../gcc.target/aarch64/mingw/variadic_hfa.c | 71 +++++ > .../gcc.target/aarch64/mingw/variadic_hva.c | 89 +++++++ > .../gcc.target/aarch64/mingw/variadic_int.c | 41 +++ > gcc/testsuite/lib/scanasm.exp | 2 + > 19 files changed, 752 insertions(+), 31 deletions(-) > create mode 100644 gcc/config/aarch64/aarch64-abi-ms-protos.h > create mode 100644 gcc/config/aarch64/aarch64-abi-ms.cc > create mode 100644 gcc/config/aarch64/t-aarch64-mingw > create mode 100644 gcc/testsuite/gcc.target/aarch64/mingw/long_double_size.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/mingw/mingw.exp > create mode 100644 gcc/testsuite/gcc.target/aarch64/mingw/variadic_hfa.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/mingw/variadic_int.c > > -- > 2.34.1 > > > Changed files: > - A: gcc/config/aarch64/aarch64-abi-ms-protos.h > - A: gcc/config/aarch64/aarch64-abi-ms.cc > - A: gcc/config/aarch64/t-aarch64-mingw > - A: gcc/testsuite/gcc.target/aarch64/mingw/long_double_size.c > - A: gcc/testsuite/gcc.target/aarch64/mingw/mingw.exp > - A: gcc/testsuite/gcc.target/aarch64/mingw/variadic_hfa.c > - A: gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva.c > - A: gcc/testsuite/gcc.target/aarch64/mingw/variadic_int.c > - M: gcc/config.gcc > - M: gcc/config/aarch64/aarch64-abi-ms.h > - M: gcc/config/aarch64/aarch64-builtins.cc > - M: gcc/config/aarch64/aarch64-coff.h > - M: gcc/config/aarch64/aarch64-protos.h > - M: gcc/config/aarch64/aarch64.cc > - M: gcc/config/aarch64/aarch64.h > - M: gcc/config/aarch64/cygming.h > - M: gcc/config/mingw/winnt.cc > - M: gcc/config/mingw/winnt.h > - M: gcc/testsuite/lib/scanasm.exp > > > Saurabh Jha (3): > aarch64: mingw: emit seh_endproc as comment > aarch64: mingw: Make long double 64 bit > aarch64: mingw: Implement support for variadic ABI > > gcc/config.gcc | 3 +- > gcc/config/aarch64/aarch64-abi-ms-protos.h | 34 +++ > gcc/config/aarch64/aarch64-abi-ms.cc | 106 ++++++++ > gcc/config/aarch64/aarch64-abi-ms.h | 18 ++ > gcc/config/aarch64/aarch64-builtins.cc | 33 +++ > gcc/config/aarch64/aarch64-coff.h | 5 - > gcc/config/aarch64/aarch64-protos.h | 1 + > gcc/config/aarch64/aarch64.cc | 247 ++++++++++++++++-- > gcc/config/aarch64/aarch64.h | 16 ++ > gcc/config/aarch64/cygming.h | 5 +- > gcc/config/aarch64/t-aarch64-mingw | 25 ++ > gcc/config/mingw/winnt.cc | 22 ++ > gcc/config/mingw/winnt.h | 1 + > .../aarch64/mingw/long_double_size.c | 23 ++ > .../gcc.target/aarch64/mingw/mingw.exp | 41 +++ > .../gcc.target/aarch64/mingw/variadic_hfa.c | 71 +++++ > .../gcc.target/aarch64/mingw/variadic_hva.c | 89 +++++++ > .../gcc.target/aarch64/mingw/variadic_int.c | 41 +++ > gcc/testsuite/lib/scanasm.exp | 2 + > 19 files changed, 752 insertions(+), 31 deletions(-) > create mode 100644 gcc/config/aarch64/aarch64-abi-ms-protos.h > create mode 100644 gcc/config/aarch64/aarch64-abi-ms.cc > create mode 100644 gcc/config/aarch64/t-aarch64-mingw > create mode 100644 gcc/testsuite/gcc.target/aarch64/mingw/long_double_size.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/mingw/mingw.exp > create mode 100644 gcc/testsuite/gcc.target/aarch64/mingw/variadic_hfa.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/mingw/variadic_hva.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/mingw/variadic_int.c > > Range-diff against v5: > 1: 671127733b03 ! 1: 8c074f613a37 aarch64: mingw: emit seh_endproc as > comment > @@ gcc/config/aarch64/aarch64-coff.h > #define BSS_SECTION_ASM_OP "\t.bss" > > ## gcc/testsuite/lib/scanasm.exp ## > -@@ > - # it under the terms of the GNU General Public License as published by > - # the Free Software Foundation; either version 3 of the License, or > - # (at your option) any later version. > --# > -+# > - # This program is distributed in the hope that it will be useful, > - # but WITHOUT ANY WARRANTY; without even the implied warranty of > - # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - # GNU General Public License for more details. > --# > -+# > - # You should have received a copy of the GNU General Public License > - # along with GCC; see the file COPYING3. If not see > - # <http://www.gnu.org/licenses/>. > -@@ gcc/testsuite/lib/scanasm.exp: proc scan-assembler-not { args } { > - > - set_required_options_for scan-assembler-not > - > --# Return the scan for the assembly for hidden visibility. > -+# Return the scan for the assembly for hidden visibility. > - > - proc hidden-scan-for { symbol } { > - > -@@ gcc/testsuite/lib/scanasm.exp: proc scan-assembler-times { args } { > - > - set_required_options_for scan-assembler-times > - > --# Call pass if pattern is present within a lower or upper bound, > -+# Call pass if pattern is present within a lower or upper bound, > - # otherwise fail. > - # ex /* { dg-final { scan-assembler-bound {RE} > 3 } } > - proc scan-assembler-bound { args } { > -@@ gcc/testsuite/lib/scanasm.exp: proc scan-assembler-bound { args } { > - error "scan-assembler-bound: illegal argument: $bound" > - return > - } > -- > -+ > - set fd [open $output_file r] > - set text [read $fd] > - close $fd > @@ gcc/testsuite/lib/scanasm.exp: proc configure_check-function-bodies { > config } { > set up_config(end) {^\}$} > } elseif { [istarget *-*-darwin*] } { > 2: a1e357254cd6 ! 2: 4a00162a8df4 aarch64: mingw: Make long double 64 bit > @@ Commit message > > * config/aarch64/aarch64-abi-ms.h > (TARGET_LONG_DOUBLE_128): Set this to 0. > - (__NO_BINARY80__): Define this so that __ENABLE_BINARY80__ is > - set to 0. > * config/aarch64/aarch64.cc > (aarch64_scalar_mode_supported_p): Make long double 64 bits. > (aarch64_c_mode_for_floating_type): Return true for TFmode. > @@ gcc/config/aarch64/aarch64-abi-ms.h: along with GCC; see the file > COPYING3. If > + https://learn.microsoft.com/en-us/cpp/c-language/type-long-double. > */ > +#undef TARGET_LONG_DOUBLE_128 > +#define TARGET_LONG_DOUBLE_128 0 > -+ > -+#define __NO_BINARY80__ > + > #endif /* GCC_AARCH64_ABI_MS_H. */ > > @@ gcc/testsuite/gcc.target/aarch64/mingw/mingw.exp (new) > +# GCC testsuite that uses the `dg.exp' driver. > + > +# Exit immediately if this isn't an AArch64-Mingw target. > -+if {![istarget aarch64-w64-mingw32] } then { > ++if {![istarget aarch64*-*-mingw32] } then { > + return > +} > + > 3: 81a24486b408 ! 3: e6acffa59cac aarch64: mingw: Implement support for > variadic ABI > @@ gcc/config/aarch64/aarch64.cc: aarch64_init_builtins () > aarch64_sve::init_builtins (); > + if (TARGET_AARCH64_MS_ABI) > + { > -+ do > -+ { > -+ aarch64_ms_variadic_abi_init_builtins (); > -+ } while (0); > ++ aarch64_ms_variadic_abi_init_builtins (); > + } > #ifdef SUBTARGET_INIT_BUILTINS > SUBTARGET_INIT_BUILTINS; > -- > 2.52.0 >
