This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/18082] Infinite loop with automatic length character objects
- From: "cvs-commit at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Oct 2005 04:53:36 -0000
- Subject: [Bug fortran/18082] Infinite loop with automatic length character objects
- References: <bug-18082-7427@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #11 from cvs-commit at gcc dot gnu dot org 2005-10-14 04:53 -------
Subject: Bug 18082
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-4_0-branch
Changes by: pault@gcc.gnu.org 2005-10-14 04:53:30
Modified files:
gcc/fortran : symbol.c trans-types.c decl.c ChangeLog
gcc/testsuite : ChangeLog
Added files:
gcc/testsuite/gfortran.dg: automatic_char_len_1.f90
save_common.f90 save_result.f90
derived_pointer_recursion.f90
Log message:
2005-10-14 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20847
PR fortran/20856
* symbol.c (check_conflict): Prevent common variables and
function results from having the SAVE attribute,as required
by the standard.
PR fortran/24092
* trans-types.c (gfc_get_derived_type): Insert code to obtain backend
declaration for derived types, building if necessary. Return the
derived type if the fields have been built by this process. Otherwise,
continue as before but using the already obtained backend_decls for the
derived type components. Change the gcc_assert to act on the field.
PR fortran/18082
* decl.c (variable_decl): Make a new copy of the character
length for each variable, when the expression is not a
constant.
2005-10-14 Paul Thomas <pault@gcc.gnu.org>
PR fortran/18082
* gfortran.dg/automatic_char_len_1.f90: New test.
PR fortran/20847
* gfortran.dg/save_common.f90: New test.
PR fortran/20856
* gfortran.dg/save_result.f90: New test.
PR fortran/24092
* gfortran.dg/derived_pointer_recursion.f90: New test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/symbol.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.26.2.5&r2=1.26.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-types.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.37.10.7&r2=1.37.10.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/decl.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.31.2.4&r2=1.31.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.335.2.128&r2=1.335.2.129
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/automatic_char_len_1.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/save_common.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.2.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/save_result.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.2.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/derived_pointer_recursion.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.453&r2=1.5084.2.454
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18082