diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2019-01-12 15:25:52 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2019-01-12 15:25:52 +0000 |
commit | bbf18dc5d248a79a20ebf4b3a751669cd75485fd (patch) | |
tree | dfff4a53d274e517577746cfd677e88335f966dd /gcc/fortran/trans-decl.c | |
parent | af79605ec27c0db7dee9ee001cd7d768eb6fcf02 (diff) | |
download | gcc-bbf18dc5d248a79a20ebf4b3a751669cd75485fd.zip gcc-bbf18dc5d248a79a20ebf4b3a751669cd75485fd.tar.gz gcc-bbf18dc5d248a79a20ebf4b3a751669cd75485fd.tar.bz2 |
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
Diffstat (limited to 'gcc/fortran/trans-decl.c')
-rw-r--r-- | gcc/fortran/trans-decl.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 474ad0b..c4cdcd6 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -114,6 +114,8 @@ tree gfor_fndecl_fdate; tree gfor_fndecl_ttynam; tree gfor_fndecl_in_pack; tree gfor_fndecl_in_unpack; +tree gfor_fndecl_cfi_to_gfc; +tree gfor_fndecl_gfc_to_cfi; tree gfor_fndecl_associated; tree gfor_fndecl_system_clock4; tree gfor_fndecl_system_clock8; @@ -3619,6 +3621,14 @@ gfc_build_builtin_function_decls (void) get_identifier (PREFIX("internal_unpack")), ".wR", void_type_node, 2, pvoid_type_node, pvoid_type_node); + gfor_fndecl_cfi_to_gfc = gfc_build_library_function_decl_with_spec ( + get_identifier (PREFIX("cfi_desc_to_gfc_desc")), ".ww", + void_type_node, 2, pvoid_type_node, ppvoid_type_node); + + gfor_fndecl_gfc_to_cfi = gfc_build_library_function_decl_with_spec ( + get_identifier (PREFIX("gfc_desc_to_cfi_desc")), ".wR", + void_type_node, 2, ppvoid_type_node, pvoid_type_node); + gfor_fndecl_associated = gfc_build_library_function_decl_with_spec ( get_identifier (PREFIX("associated")), ".RR", integer_type_node, 2, ppvoid_type_node, ppvoid_type_node); |