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

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

Reply via email to