--- Comment #9 from janus at gcc dot gnu dot org 2008-11-01 22:00 ---
Fixed with r141522. Closing.
--
janus at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #8 from janus at gcc dot gnu dot org 2008-11-01 21:57 ---
Subject: Bug 36426
Author: janus
Date: Sat Nov 1 21:56:27 2008
New Revision: 141522
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141522
Log:
2008-11-01 Janus Weil <[EMAIL PROTECTED]>
PR fortran/3
--- Comment #7 from dominiq at lps dot ens dot fr 2008-11-01 20:13 ---
With the patch in comment #6 the following code gives an ICE:
subroutine sub(x)
abstract interface
character function abs_fun()
end function
end interface
procedure(abs_fun):: x
end subroutine
end
[ibo
--- Comment #6 from janus at gcc dot gnu dot org 2008-11-01 19:06 ---
The following patch fixes comment #3 and comment #4:
Index: gcc/fortran/expr.c
===
--- gcc/fortran/expr.c (revision 141520)
+++ gcc/fortran/expr.c (wor
--- Comment #5 from janus at gcc dot gnu dot org 2008-11-01 15:03 ---
For both comment #3 and comment #4 the errors disappear if the PROCEDURE
statement is removed and instead the interface is made non-abstract.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36426
--- Comment #4 from janus at gcc dot gnu dot org 2008-11-01 14:58 ---
A variant of comment #3 which gives a different error:
abstract interface
function foo(x,y)
character(len=*) :: x
integer y(:)
character(len=size(y)) :: foo
end function foo
end interface
character(len=20
--- Comment #3 from janus at gcc dot gnu dot org 2008-11-01 14:49 ---
Here is a modified version of comment #0:
abstract interface
function foo(x)
character(len=*) :: x
character(len=len(x)) :: foo
end function foo
end interface
character(len=20) :: str
procedure(foo) :: bar
s
--- Comment #2 from janus at gcc dot gnu dot org 2008-11-01 14:43 ---
I'm not completely convinced yet that the code in comment #0 is valid. While
g95 accepts it, ifort 11.0 beta says:
c0.f90(4): error #6362: The data types of the argument(s) are invalid. [LEN]
character(len=len(x)
--- Comment #1 from burnus at gcc dot gnu dot org 2008-06-07 16:47 ---
Backtrace:
in gfc_getmem (n=40) at gcc/fortran/misc.c:37
in gfc_get_interface_mapping_charlen at gcc/fortran/trans-expr.c:1485
in gfc_apply_interface_mapping_to_expr at gcc/fortran/trans-expr.c:1920
in gfc_apply_in