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-11-12 09:44:17+00:00 Changes: 14 changed files, 716 additions, 27 deletions Head revision: saurabh.jha/gcc-TEST ref mingw-data-types-abi commit f2ca5054c7d4573b15d7309497a7e554c2432814 Base revision: gcc/gcc-TEST ref trunk commit 59e688be49a929daaa6f44f2a0bfff33e789e66b r16-5077-g59e688be49a929 Merge base: 59e688be49a929daaa6f44f2a0bfff33e789e66b 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, In v3, removed libgfortran changes in response to this comment: https://forge.sourceware.org/gcc/gcc-TEST/pulls/118#issuecomment-3894 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/aarch64/aarch64-builtins.cc | 33 ++ gcc/config/aarch64/aarch64-coff.h | 19 +- gcc/config/aarch64/aarch64-protos.h | 1 + gcc/config/aarch64/aarch64.cc | 361 +++++++++++++++++- gcc/config/aarch64/aarch64.h | 16 + gcc/config/aarch64/cygming.h | 13 +- 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 | 12 +- 14 files changed, 716 insertions(+), 27 deletions(-) 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 Changed files: - 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/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/aarch64/aarch64-builtins.cc | 33 ++ gcc/config/aarch64/aarch64-coff.h | 19 +- gcc/config/aarch64/aarch64-protos.h | 1 + gcc/config/aarch64/aarch64.cc | 361 +++++++++++++++++- gcc/config/aarch64/aarch64.h | 16 + gcc/config/aarch64/cygming.h | 13 +- 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 | 12 +- 14 files changed, 716 insertions(+), 27 deletions(-) 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 v2: 1: 16960859fdc = 1: 8c1ceed2a17 aarch64: mingw: emit seh_endproc as comment 2: 3a88ad496f6 ! 2: 712de699693 aarch64: mingw: Make long double 64 bit @@ Commit message bits, the size of long double for aarch64-w64-mingw32 has to be 64 bits. - This commit makes changes to gcc and libgfortran so that long double is - 64 bits for aarch64-w64-mingw32. + This commit makes changes to gcc so that long double is 64 bits for + aarch64-w64-mingw32. gcc/ChangeLog: @@ Commit message * config/aarch64/aarch64.h (TARGET_LONG_DOUBLE_128): Set this to 1. - libgfortran/ChangeLog: - - * configure: Regenerate. - * configure.ac: Add support for mingw and cygwin. - gcc/testsuite/ChangeLog: * gcc.target/aarch64/mingw/mingw.exp: New test. @@ gcc/testsuite/gcc.target/aarch64/mingw/mingw.exp (new) + +# All done. +dg-finish - - ## libgfortran/configure ## -@@ libgfortran/configure: fi - # or floating point numbers â or may want to reduce the libgfortran size - # although they do have the support. - LIBGOMP_CHECKED_INT_KINDS="1 2 4 8 16" --LIBGOMP_CHECKED_REAL_KINDS="4 8 10 16" -- -- -- -+case $host in -+ aarch64-*-mingw* | aarch64-*-cygwin*) -+ LIBGOMP_CHECKED_REAL_KINDS="4 8" ;; -+ *) -+ LIBGOMP_CHECKED_REAL_KINDS="4 8 10 16" ;; -+esac - - # Figure out whether the compiler supports "-ffunction-sections -fdata-sections", - # similarly to how libstdc++ does it - - ## libgfortran/configure.ac ## -@@ libgfortran/configure.ac: AM_CONDITIONAL(LIBGFOR_MINIMAL, false) - # or floating point numbers â or may want to reduce the libgfortran size - # although they do have the support. - LIBGOMP_CHECKED_INT_KINDS="1 2 4 8 16" --LIBGOMP_CHECKED_REAL_KINDS="4 8 10 16" -+case "${host}" in -+ aarch64-*-mingw* | aarch64-*-cygwin*) -+ LIBGOMP_CHECKED_REAL_KINDS="4 8" ;; -+ *) -+ LIBGOMP_CHECKED_REAL_KINDS="4 8 10 16" ;; -+esac - - AC_SUBST(LIBGOMP_CHECKED_INT_KINDS) - AC_SUBST(LIBGOMP_CHECKED_REAL_KINDS) 3: e86e4e4e33b = 3: f2ca5054c7d aarch64: mingw: Implement support for variadic ABI -- 2.51.1
