[Bug fortran/13465] Data statement for large arrays compiles verrrry slllowwwly and shows quadratic behaviour.

cvs-commit at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Aug 23 21:53:00 GMT 2004


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-08-23 21:53 -------
Subject: Bug 13465

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rth@gcc.gnu.org	2004-08-23 21:53:15

Modified files:
	gcc/fortran    : ChangeLog data.c gfortran.h match.c resolve.c 

Log message:
	PR 13465
	* data.c (find_con_by_offset): Search ordered list; handle
	elements with repeat counts.
	(gfc_assign_data_value_range): New.
	* gfortran.h (struct gfc_data_value): Make repeat unsigned.
	(gfc_assign_data_value_range): Declare.
	* match.c (top_val_list): Extract repeat count into a temporary.
	* resolve.c (values): Make left unsigned.
	(next_data_value): Don't decrement left.
	(check_data_variable): Use gfc_assign_data_value_range.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/ChangeLog.diff?cvsroot=gcc&r1=1.161&r2=1.162
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/data.c.diff?cvsroot=gcc&r1=1.6&r2=1.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/gfortran.h.diff?cvsroot=gcc&r1=1.25&r2=1.26
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/match.c.diff?cvsroot=gcc&r1=1.20&r2=1.21
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/resolve.c.diff?cvsroot=gcc&r1=1.12&r2=1.13



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13465



More information about the Gcc-bugs mailing list