]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fortran: add SELECTED_LOGICAL_KIND
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tue, 19 Mar 2024 14:09:22 +0000 (15:09 +0100)
committerFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Mon, 29 Apr 2024 14:24:20 +0000 (16:24 +0200)
commit050a4f7fc5c9c0f4aae26a92281cdca2a3ded53c
tree64f46b5a2be1ad3e0442760915502af7974b8963
parent1dba1d860a1e3e32e5d061a1d6dc600c96d2597f
Fortran: add SELECTED_LOGICAL_KIND

gcc/fortran/ChangeLog:
* expr.cc (check_transformational): Add SELECTED_LOGICAL_KIND
to allowed functions for Fortran 2023.
* gfortran.h (GFC_ISYM_SL_KIND): New.
* gfortran.texi: Mention SELECTED_LOGICAL_KIND.
* intrinsic.cc (add_functions): Add SELECTED_LOGICAL_KIND.
(gfc_intrinsic_func_interface): Allow it in initialization
expressions.
* intrinsic.h (gfc_simplify_selected_logical_kind): New proto.
* intrinsic.texi: Add SELECTED_LOGICAL_KIND.
* simplify.cc (gfc_simplify_selected_logical_kind): New
function.
* trans-decl.cc (gfc_build_intrinsic_function_decls): Initialize
gfor_fndecl_sl_kind.
* trans-intrinsic.cc (gfc_conv_intrinsic_sl_kind): New function.
(gfc_conv_intrinsic_function): Call it for GFC_ISYM_SL_KIND.
* trans.h (gfor_fndecl_sl_kind): New symbol.

gcc/testsuite/ChangeLog:

* gfortran.dg/selected_logical_kind_1.f90: New test.
* gfortran.dg/selected_logical_kind_2.f90: New test.
* gfortran.dg/selected_logical_kind_3.f90: New test.
* gfortran.dg/selected_logical_kind_4.f90: New test.

libgfortran/ChangeLog:

* gfortran.map: Add _gfortran_selected_logical_kind.
* intrinsics/selected_int_kind.f90: Add SELECTED_LOGICAL_KIND.
16 files changed:
gcc/fortran/expr.cc
gcc/fortran/gfortran.h
gcc/fortran/gfortran.texi
gcc/fortran/intrinsic.cc
gcc/fortran/intrinsic.h
gcc/fortran/intrinsic.texi
gcc/fortran/simplify.cc
gcc/fortran/trans-decl.cc
gcc/fortran/trans-intrinsic.cc
gcc/fortran/trans.h
gcc/testsuite/gfortran.dg/selected_logical_kind_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/selected_logical_kind_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/selected_logical_kind_3.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/selected_logical_kind_4.f90 [new file with mode: 0644]
libgfortran/gfortran.map
libgfortran/intrinsics/selected_int_kind.f90