diff options
author | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-10-15 19:58:55 +0000 |
---|---|---|
committer | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-10-15 19:58:55 +0000 |
commit | 32e8ed46802f15fbb08ef38dbec4c6b354d26ee5 (patch) | |
tree | 36b79ca0ae8909cbb87feeea48f42fdad9417077 /libgfortran | |
parent | 4b6920eadbda59ffa41d4685924dae8a9240ea4f (diff) | |
download | gcc-32e8ed46802f15fbb08ef38dbec4c6b354d26ee5.tar.gz |
2007-10-15 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/32600
* trans-expr.c (gfc_conv_function_call): Generate code to inline
c_associated.
* symbol.c (get_iso_c_sym): Preserve from_intmod and
* intmod_sym_id
attributes in the resolved symbol.
* resolve.c (gfc_iso_c_sub_interface): Remove dead code.
2007-10-15 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/32600
* libgfortran/intrinsics/iso_c_binding.c: Remove c_associated_1
and c_associated_2.
* libgfortran/intrinsics/iso_c_binding.h: Ditto.
* libgfortran/gfortran.map: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129367 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 8 | ||||
-rw-r--r-- | libgfortran/gfortran.map | 2 | ||||
-rw-r--r-- | libgfortran/intrinsics/iso_c_binding.c | 39 | ||||
-rw-r--r-- | libgfortran/intrinsics/iso_c_binding.h | 3 |
4 files changed, 8 insertions, 44 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 34df5007e92..d0cecb0167b 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,11 @@ +2007-10-15 Christopher D. Rickett <crickett@lanl.gov> + + PR fortran/32600 + * libgfortran/intrinsics/iso_c_binding.c: Remove c_associated_1 + and c_associated_2. + * libgfortran/intrinsics/iso_c_binding.h: Ditto. + * libgfortran/gfortran.map: Ditto. + 2007-10-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/33055 diff --git a/libgfortran/gfortran.map b/libgfortran/gfortran.map index 429c84c8c4a..b9f4aa93b73 100644 --- a/libgfortran/gfortran.map +++ b/libgfortran/gfortran.map @@ -1003,8 +1003,6 @@ GFORTRAN_1.0 { _gfortran_unpack0_char; _gfortran_unpack1; _gfortran_unpack1_char; - __iso_c_binding_c_associated_1; - __iso_c_binding_c_associated_2; __iso_c_binding_c_f_pointer; __iso_c_binding_c_f_pointer_d0; __iso_c_binding_c_f_pointer_i1; diff --git a/libgfortran/intrinsics/iso_c_binding.c b/libgfortran/intrinsics/iso_c_binding.c index 5d566bcf11b..2a1e994d4d9 100644 --- a/libgfortran/intrinsics/iso_c_binding.c +++ b/libgfortran/intrinsics/iso_c_binding.c @@ -193,42 +193,3 @@ ISO_C_BINDING_PREFIX (c_f_procpointer) (void *c_ptr_in, } -/* Test if the given c_ptr is associated or not. This function is - called if the user only supplied one c_ptr parameter to the - c_associated function. The second argument is optional, and the - Fortran compiler will resolve the function to this version if only - one arg was given. Associated here simply means whether or not the - c_ptr is NULL or not. */ - -GFC_LOGICAL_4 -ISO_C_BINDING_PREFIX (c_associated_1) (void *c_ptr_in_1) -{ - if (c_ptr_in_1 != NULL) - return 1; - else - return 0; -} - - -/* Test if the two c_ptr arguments are associated with one another. - This version of the c_associated function is called if the user - supplied two c_ptr args in the Fortran source. According to the - draft standard (J3/04-007), if c_ptr_in_1 is NULL, the two pointers - are NOT associated. If c_ptr_in_1 is non-NULL and it is not equal - to c_ptr_in_2, then either c_ptr_in_2 is NULL or is associated with - another address; either way, the two pointers are not associated - with each other then. */ - -GFC_LOGICAL_4 -ISO_C_BINDING_PREFIX (c_associated_2) (void *c_ptr_in_1, void *c_ptr_in_2) -{ - /* Since we have the second arg, if it doesn't equal the first, - return false; true otherwise. However, if the first one is null, - then return false; otherwise compare the two ptrs for equality. */ - if (c_ptr_in_1 == NULL) - return 0; - else if (c_ptr_in_1 != c_ptr_in_2) - return 0; - else - return 1; -} diff --git a/libgfortran/intrinsics/iso_c_binding.h b/libgfortran/intrinsics/iso_c_binding.h index 206359ad8c9..4679c2aba02 100644 --- a/libgfortran/intrinsics/iso_c_binding.h +++ b/libgfortran/intrinsics/iso_c_binding.h @@ -56,9 +56,6 @@ void ISO_C_BINDING_PREFIX(c_f_pointer)(void *, gfc_array_void *, implemented. */ void ISO_C_BINDING_PREFIX(c_f_procpointer) (void *, gfc_array_void *); -GFC_LOGICAL_4 ISO_C_BINDING_PREFIX(c_associated_1) (void *); -GFC_LOGICAL_4 ISO_C_BINDING_PREFIX(c_associated_2) (void *, void *); - void ISO_C_BINDING_PREFIX(c_f_pointer_u0) (void *, gfc_array_void *, const array_t *); void ISO_C_BINDING_PREFIX(c_f_pointer_d0) (void *, gfc_array_void *, |