Commit c5a41953 by Tobias Schlüter Committed by Tobias Schlüter

re PR fortran/15140 (assertion failed: (TREE_CODE (sym->backend_decl) == PARM_DECL)

fortran/
PR fortran/15140
* trans-decl.c (gfc_trans_deferred_vars): Remove bogus assertion.

testsuite/
PR fortran/15140
* gfortran.dg/pr15140.f90: New test.

From-SVN: r84770
parent d157d978
...@@ -4,6 +4,9 @@ ...@@ -4,6 +4,9 @@
* trans-decl.c (gfc_build_function_decl): Create a new chardecl * trans-decl.c (gfc_build_function_decl): Create a new chardecl
for every assumed length character dummy argument. for every assumed length character dummy argument.
PR fortran/15140
* trans-decl.c (gfc_trans_deferred_vars): Remove bogus assertion.
2004-07-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> 2004-07-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/15324 PR fortran/15324
......
...@@ -1728,7 +1728,6 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, tree fnbody) ...@@ -1728,7 +1728,6 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, tree fnbody)
assert (sym->attr.dummy); assert (sym->attr.dummy);
/* We should always pass assumed size arrays the g77 way. */ /* We should always pass assumed size arrays the g77 way. */
assert (TREE_CODE (sym->backend_decl) == PARM_DECL);
fnbody = gfc_trans_g77_array (sym, fnbody); fnbody = gfc_trans_g77_array (sym, fnbody);
break; break;
......
...@@ -6,6 +6,9 @@ ...@@ -6,6 +6,9 @@
PR fortran/15129 PR fortran/15129
* gfortran.dg/pr15129.f90: New test. * gfortran.dg/pr15129.f90: New test.
PR fortran/15140
* gfortran.dg/pr15140.f90: New test.
2004-07-14 Mike Stump <mrs@apple.com> 2004-07-14 Mike Stump <mrs@apple.com>
* gcc.dg/20020426-2.c: Improve type safety wrt unsignedness. * gcc.dg/20020426-2.c: Improve type safety wrt unsignedness.
......
! { dg-do run }
! PR 15140: we used to fail an assertion, because we don't use the
! argument of the subroutine directly, but instead use a copy of it.
function M(NAMES)
CHARACTER*(*) NAMES(*)
if (any(names.ne."asdfg")) call abort
m = LEN(NAMES(1))
END function M
character(5) :: c(2)
c = "asdfg"
if(m(c).ne.5) call abort()
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment