]> git.ipfire.org Git - thirdparty/gcc.git/commit
fortran: add optional lower arg to c_f_pointer
authorYuao Ma <c8ef@outlook.com>
Thu, 7 Aug 2025 14:35:17 +0000 (22:35 +0800)
committerTobias Burnus <tburnus@baylibre.com>
Tue, 12 Aug 2025 06:13:13 +0000 (08:13 +0200)
commit587b8a62f501792618df232d82c8336bb80f40f1
tree98c6c6f7021b3e3fdf979af709760f95d37793d3
parent1b5b461428fb6a43ef91e3dc330d6f59b6d88618
fortran: add optional lower arg to c_f_pointer

This patch adds support for the optional lower argument in intrinsic
c_f_pointer specified in Fortran 2023. Test cases and documentation have also
been updated.

gcc/fortran/ChangeLog:

* check.cc (gfc_check_c_f_pointer): Check lower arg legitimacy.
* intrinsic.cc (add_subroutines): Teach c_f_pointer about lower arg.
* intrinsic.h (gfc_check_c_f_pointer): Add lower arg.
* intrinsic.texi: Update lower arg for c_f_pointer.
* trans-intrinsic.cc (conv_isocbinding_subroutine): Add logic handle lower.

gcc/testsuite/ChangeLog:

* gfortran.dg/c_f_pointer_shape_tests_7.f90: New test.
* gfortran.dg/c_f_pointer_shape_tests_8.f90: New test.
* gfortran.dg/c_f_pointer_shape_tests_9.f90: New test.

Signed-off-by: Yuao Ma <c8ef@outlook.com>
gcc/fortran/check.cc
gcc/fortran/intrinsic.cc
gcc/fortran/intrinsic.h
gcc/fortran/intrinsic.texi
gcc/fortran/trans-intrinsic.cc
gcc/testsuite/gfortran.dg/c_f_pointer_shape_tests_7.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/c_f_pointer_shape_tests_8.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/c_f_pointer_shape_tests_9.f90 [new file with mode: 0644]