diff options
author | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-23 06:03:33 +0000 |
---|---|---|
committer | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-23 06:03:33 +0000 |
commit | 513a2ff65cbd4e0ce9745eba4644a03bdd3d3354 (patch) | |
tree | 28b50eccc46d25b2454b71bb9460732f43780c54 /libgfortran | |
parent | cc15ed0f0949d8cc95e811526b01d84114260377 (diff) | |
download | gcc-513a2ff65cbd4e0ce9745eba4644a03bdd3d3354.tar.gz |
2007-07-23 Christopher D. Rickett <crickett@lanl.gov>
Tobias Burnus <burnus@net-b.de>
PR fortran/32600
* trans-expr.c (gfc_conv_function_call): Handle c_funloc.
* trans-types.c: Add pfunc_type_node.
(gfc_init_types,gfc_typenode_for_spec): Use it.
* resolve.c (gfc_iso_c_func_interface): Fix whitespace and
improve error message.
2007-07-23 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/32600
* intrinsics/iso_c_binding.c (c_funloc): Remove.
* intrinsics/iso_c_binding.h: Remove c_funloc.
* gfortran.map: Ditto.
2007-07-23 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/32600
* gfortran.dg/c_funloc_tests_5.f03: New.
* gfortran.dg/c_funloc_tests_5.f04: New.
* gfortran.dg/c_funloc_tests_4_driver.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126835 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 7 | ||||
-rw-r--r-- | libgfortran/gfortran.map | 1 | ||||
-rw-r--r-- | libgfortran/intrinsics/iso_c_binding.c | 19 | ||||
-rw-r--r-- | libgfortran/intrinsics/iso_c_binding.h | 2 |
4 files changed, 7 insertions, 22 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 7cad67e89be..ae9d6b0aa88 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,10 @@ +2007-07-23 Christopher D. Rickett <crickett@lanl.gov> + + PR fortran/32600 + * intrinsics/iso_c_binding.c (c_funloc): Remove. + * intrinsics/iso_c_binding.h: Remove c_funloc. + * gfortran.map: Ditto. + 2007-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> * io/read.c (convert_real): Generate error only on EINVAL. diff --git a/libgfortran/gfortran.map b/libgfortran/gfortran.map index f118bf3277c..c16dd1eee33 100644 --- a/libgfortran/gfortran.map +++ b/libgfortran/gfortran.map @@ -1027,7 +1027,6 @@ GFORTRAN_1.0 { __iso_c_binding_c_f_pointer_l8; __iso_c_binding_c_f_pointer_u0; __iso_c_binding_c_f_procpointer; - __iso_c_binding_c_funloc; local: *; }; diff --git a/libgfortran/intrinsics/iso_c_binding.c b/libgfortran/intrinsics/iso_c_binding.c index 101cc4e0039..29fb5181706 100644 --- a/libgfortran/intrinsics/iso_c_binding.c +++ b/libgfortran/intrinsics/iso_c_binding.c @@ -232,22 +232,3 @@ ISO_C_BINDING_PREFIX (c_associated_2) (void *c_ptr_in_1, void *c_ptr_in_2) else return 1; } - - -/* Return the C address of the given Fortran procedure. This - routine is expected to return a derived type of type C_FUNPTR, - which represents the C address of the given Fortran object. */ - -void * -ISO_C_BINDING_PREFIX (c_funloc) (void *f90_obj) -{ - if (f90_obj == NULL) - { - runtime_error ("C_LOC: Attempt to get C address for Fortran object" - " that has not been allocated or associated"); - abort (); - } - - /* The "C" address should be the address of the object in Fortran. */ - return f90_obj; -} diff --git a/libgfortran/intrinsics/iso_c_binding.h b/libgfortran/intrinsics/iso_c_binding.h index 1e51ad53d2d..206359ad8c9 100644 --- a/libgfortran/intrinsics/iso_c_binding.h +++ b/libgfortran/intrinsics/iso_c_binding.h @@ -64,6 +64,4 @@ void ISO_C_BINDING_PREFIX(c_f_pointer_u0) (void *, gfc_array_void *, void ISO_C_BINDING_PREFIX(c_f_pointer_d0) (void *, gfc_array_void *, const array_t *); -void *ISO_C_BINDING_PREFIX(c_funloc) (void *); - #endif |