http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38894
Tobias Burnus changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38894
Tobias Burnus changed:
What|Removed |Added
CC||burnus at gcc dot gnu.org
--- C
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38894
--- Comment #9 from janus at gcc dot gnu.org 2012-04-25 20:19:42 UTC ---
Combining comments #2 and #8 still produces testsuite failures:
FAIL: gfortran.dg/c_ptr_tests_14.f90 -O0 (test for excess errors)
FAIL: gfortran.dg/c_ptr_tests_15.f90 -O
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38894
--- Comment #8 from janus at gcc dot gnu.org 2012-04-25 19:47:52 UTC ---
The errors in comment #5 - #7 can be fixed by the following patch:
Index: gcc/fortran/interface.c
===
--- gcc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38894
--- Comment #7 from janus at gcc dot gnu.org 2012-04-25 17:57:11 UTC ---
(In reply to comment #6)
> Here is a maximally reduced test case, which yields the same error as
> iso_c_binding_rename_1.f90 (if the code from comment #2 is removed):
Anothe
--- Comment #6 from janus at gcc dot gnu dot org 2009-06-23 15:54 ---
Here is a maximally reduced test case, which yields the same error as
iso_c_binding_rename_1.f90 (if the code from comment #2 is removed):
module rename
use, intrinsic :: iso_c_binding, only: my_c_ptr_0 => c_ptr
end
--- Comment #5 from janus at gcc dot gnu dot org 2009-06-23 15:43 ---
(In reply to comment #2)
> The missing checks are due to the following code in interface.c
> (compare_parameter):
>
> if (formal->ts.type == BT_DERIVED
> && formal->ts.derived && formal->ts.derived->ts.is_iso_
--- Comment #4 from burnus at gcc dot gnu dot org 2009-06-23 08:34 ---
(In reply to comment #3)
> This patch gives the correct error messages for comment #1
> + && actual->ts.derived && actual->ts.derived->ts.is_iso_c
> + && (formal->ts.derived->attr.use_rename
> + ||
--- Comment #3 from janus at gcc dot gnu dot org 2009-06-22 22:21 ---
This patch gives the correct error messages for comment #1, while avoiding the
testsuite failure of iso_c_binding_rename_1.f03:
Index: gcc/fortran/interface.c
=
--- Comment #2 from janus at gcc dot gnu dot org 2009-06-22 21:56 ---
The missing checks are due to the following code in interface.c
(compare_parameter):
if (formal->ts.type == BT_DERIVED
&& formal->ts.derived && formal->ts.derived->ts.is_iso_c
&& actual->ts.type == BT_DE
--
fxcoudert at gcc dot gnu dot org changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last recon
--- Comment #1 from burnus at gcc dot gnu dot org 2009-01-17 10:46 ---
The example was wrong as the name is c_f_PROCpointer (no -fun- only in
type(c_funptr) and c_FUNloc). Working example:
use iso_c_binding
type(c_ptr) :: fun
procedure(), pointer :: bar
call c_f_procpointer(fun,bar) !
12 matches
Mail list logo