gfortran.texi: Add description in sections on TS 29113 and further interoperability...
authorPaul Thomas <pault@gcc.gnu.org>
Sat, 12 Jan 2019 15:25:52 +0000 (15:25 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Sat, 12 Jan 2019 15:25:52 +0000 (15:25 +0000)
commitbbf18dc5d248a79a20ebf4b3a751669cd75485fd
treedfff4a53d274e517577746cfd677e88335f966dd
parentaf79605ec27c0db7dee9ee001cd7d768eb6fcf02
gfortran.texi: Add description in sections on TS 29113 and further interoperability with C.

2019-01-12  Paul Thomas  <pault@gcc.gnu.org>

* gfortran.texi : Add description in sections on TS 29113 and
further interoperability with C.
* trans-array.c (gfc_conv_descriptor_attribute): New function.
(gfc_get_dataptr_offset): Remove static function attribute.
* trans-array.h : Add prototypes for above functions.
* trans-decl.c : Add declarations for the library functions
cfi_desc_to_gfc_desc and gfc_desc_to_cfi_desc.
* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): New function.
(gfc_conv_procedure_call): Call it for scalar and array actual
arguments, when the formal arguments are bind_c with assumed
shape or assumed rank.
* trans.h : External declarations for gfor_fndecl_cfi_to_gfc
and gfor_fndecl_gfc_to_cfi.

2019-01-12  Paul Thomas  <pault@gcc.gnu.org>

* gfortran.dg/ISO_Fortran_binding_1.f90 : New test.
* gfortran.dg/ISO_Fortran_binding_1.c : Auxilliary file for test.
* gfortran.dg/ISO_Fortran_binding_2.f90 : New test.
* gfortran.dg/ISO_Fortran_binding_2.c : Auxilliary file for test.
* gfortran.dg/bind_c_array_params_2.f90 : Change search string
for dump tree scan.

2019-01-12  Paul Thomas  <pault@gcc.gnu.org>

* ISO_Fortran_binding.h : New file.
* Makefile.am : Include ISO_Fortran_binding.c in the list of
files to compile.
* Makefile.in : Regenerated.
* gfortran.map : Add _gfortran_cfi_desc_to_gfc_desc,
_gfortran_gfc_desc_to_cfi_desc and the CFI API functions.
* runtime/ISO_Fortran_binding.c : New file containing the new
functions added to the map.

From-SVN: r267881
19 files changed:
gcc/fortran/ChangeLog
gcc/fortran/gfortran.texi
gcc/fortran/trans-array.c
gcc/fortran/trans-array.h
gcc/fortran/trans-decl.c
gcc/fortran/trans-expr.c
gcc/fortran/trans.h
gcc/testsuite/gfortran.dg/ISO_Fortran_binding_1.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/ISO_Fortran_binding_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/ISO_Fortran_binding_2.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/ISO_Fortran_binding_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90
libgfortran/ChangeLog
libgfortran/ISO_Fortran_binding.h [new file with mode: 0644]
libgfortran/Makefile.am
libgfortran/Makefile.in
libgfortran/configure
libgfortran/gfortran.map
libgfortran/runtime/ISO_Fortran_binding.c [new file with mode: 0644]