diff options
author | Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de> | 2004-07-15 20:50:17 +0200 |
---|---|---|
committer | Tobias Schlüter <tobi@gcc.gnu.org> | 2004-07-15 20:50:17 +0200 |
commit | c5a419530e095f316911d63e6c2eb0008b10d160 (patch) | |
tree | 280339d8914657855c3ee4ea1f6c1fe0f773ae61 /gcc | |
parent | d157d9782201b9cd3b795add94e350506bc7d7e6 (diff) | |
download | gcc-c5a419530e095f316911d63e6c2eb0008b10d160.zip gcc-c5a419530e095f316911d63e6c2eb0008b10d160.tar.gz gcc-c5a419530e095f316911d63e6c2eb0008b10d160.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/fortran/trans-decl.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr15140.f90 | 13 |
4 files changed, 19 insertions, 1 deletions
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 <tobias.schlueter@physik.uni-muenchen.de> 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 <mrs@apple.com> * 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 |