gcc/libgfortran
Yuao Ma fa6c9c2e48 fortran: implement split for fortran 2023
This patch includes the implementation, documentation, and test case for SPLIT.

gcc/fortran/ChangeLog:

	* check.cc (gfc_check_split): Argument check for SPLIT.
	* gfortran.h (enum gfc_isym_id): Define GFC_ISYM_SPLIT.
	* intrinsic.cc (add_subroutines): Register SPLIT intrinsic.
	* intrinsic.h (gfc_check_split): New decl.
	(gfc_resolve_split): Ditto.
	* intrinsic.texi: SPLIT documentation.
	* iresolve.cc (gfc_resolve_split): Add resolved_sym for SPLIT.
	* trans-decl.cc (gfc_build_intrinsic_function_decls): Add decl for
	SPLIT in libgfortran.
	* trans-intrinsic.cc (conv_intrinsic_split): SPLIT codegen.
	(gfc_conv_intrinsic_subroutine): Handle SPLIT case.
	* trans.h (GTY): Declare gfor_fndecl_string_split{, _char4}.

libgfortran/ChangeLog:

	* gfortran.map: Add split symbol.
	* intrinsics/string_intrinsics_inc.c (string_split):
	Runtime support for SPLIT.

gcc/testsuite/ChangeLog:

	* gfortran.dg/split_1.f90: New test.
	* gfortran.dg/split_2.f90: New test.
	* gfortran.dg/split_3.f90: New test.
	* gfortran.dg/split_4.f90: New test.

Signed-off-by: Yuao Ma <c8ef@outlook.com>
2025-07-30 10:30:46 +02:00
..
caf Fortran: Various fixes on F2018 teams. 2025-04-22 13:17:51 +02:00
config nvptx: Build libgfortran with '-mfake-ptx-alloca' [PR107635] 2025-02-27 21:48:15 +01:00
generated libfortran: Regenerate files 2025-06-07 19:01:44 +02:00
ieee Update copyright years. 2025-01-02 11:59:57 +01:00
intrinsics fortran: implement split for fortran 2023 2025-07-30 10:30:46 +02:00
io Fortran: Fix handling of parsed format strings. 2025-06-01 16:40:50 -07:00
m4 libfortran: Fix up _gfortran_{,m,s}findloc2_s{1,4} [PR120196] 2025-05-13 14:25:38 +02:00
runtime libfortran: fix conversion of UNSIGNED(kind=16) to decimal in output [PR118406] 2025-01-16 20:43:16 +01:00
ChangeLog Daily bump. 2025-06-19 00:20:35 +00:00
ChangeLog-2002 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ChangeLog-2003 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ChangeLog-2004 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ChangeLog-2005 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ChangeLog-2006 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ChangeLog-2007 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ChangeLog-2008 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ChangeLog-2009 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ChangeLog-2010 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ChangeLog-2011 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020
ChangeLog-2021 Rotate ChangeLog files - part 1 - add ChangeLog-2021. 2022-01-03 10:18:16 +01:00
ChangeLog-2022 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ChangeLog-2023 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ChangeLog-2024 Rotate ChangeLog files. 2025-01-02 11:06:31 +01:00
ISO_Fortran_binding.h Update copyright years. 2025-01-02 11:59:57 +01:00
Makefile.am libfortran: Simplify Makefile logic 2025-06-11 16:17:26 +02:00
Makefile.in libfortran: Simplify Makefile logic 2025-06-11 16:17:26 +02:00
acinclude.m4 LoongArch: Add LoongArch architecture detection to __float128 support in libgfortran and libquadmath [PR119408]. 2025-04-07 17:01:53 +08:00
aclocal.m4
c99_protos.h Update copyright years. 2025-01-02 11:59:57 +01:00
config.h.in libgfortran: Fix up LIBGFOR_CHECK_FLOAT128 [PR106137] 2022-06-29 17:04:50 +02:00
configure LoongArch: Add LoongArch architecture detection to __float128 support in libgfortran and libquadmath [PR119408]. 2025-04-07 17:01:53 +08:00
configure.ac nvptx, libgfortran: Switch out of "minimal" mode 2024-06-06 13:41:47 +02:00
configure.host nvptx: Build libgfortran with '-mfake-ptx-alloca' [PR107635] 2025-02-27 21:48:15 +01:00
gfortran.map fortran: implement split for fortran 2023 2025-07-30 10:30:46 +02:00
kinds-override.h Update copyright years. 2025-01-02 11:59:57 +01:00
libgfortran.h Update copyright years. 2025-01-02 11:59:57 +01:00
libgfortran.spec.in libgfortran: avoid duplicate libraries in spec 2023-12-19 22:10:55 +01:00
libtool-version
mk-kinds-h.sh Implement first part of unsigned integers for Fortran. 2024-09-07 17:12:17 +02:00
mk-sik-inc.sh
mk-srk-inc.sh
regenerate.sh libfortran: Simplify Makefile logic 2025-06-11 16:17:26 +02:00