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
