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

Reply via email to