From e5a4c8ff8f335b6fd9ccd9d24f918fe68370029f Mon Sep 17 00:00:00 2001 From: tobi Date: Thu, 15 Jul 2004 18:50:17 +0000 Subject: [PATCH] fortran/ PR fortran/15140 * trans-decl.c (gfc_trans_deferred_vars): Remove bogus assertion. testsuite/ PR fortran/15140 * gfortran.dg/pr15140.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84770 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 3 +++ gcc/fortran/trans-decl.c | 1 - gcc/testsuite/ChangeLog | 3 +++ gcc/testsuite/gfortran.dg/pr15140.f90 | 13 +++++++++++++ 4 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gfortran.dg/pr15140.f90 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 2667cb8..e69b5de 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -4,6 +4,9 @@ * trans-decl.c (gfc_build_function_decl): Create a new chardecl 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 PR fortran/15324 diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index f7cfd97..655c48b 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -1728,7 +1728,6 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, tree fnbody) assert (sym->attr.dummy); /* 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); break; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index bab2111..ccda3e5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -6,6 +6,9 @@ PR fortran/15129 * gfortran.dg/pr15129.f90: New test. + PR fortran/15140 + * gfortran.dg/pr15140.f90: New test. + 2004-07-14 Mike Stump * gcc.dg/20020426-2.c: Improve type safety wrt unsignedness. diff --git a/gcc/testsuite/gfortran.dg/pr15140.f90 b/gcc/testsuite/gfortran.dg/pr15140.f90 new file mode 100644 index 0000000..393badc --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr15140.f90 @@ -0,0 +1,13 @@ +! { 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 -- 2.7.4