re PR tree-optimization/39516 (internal compiler error: in copy_to_mode_reg, at explow.c:623)

PR tree-optimization/39516
	* lambda-code.c (perfect_nestify): Fix type of the uboundvar variable.

	* gfortran.dg/pr39516.f: New test.

From-SVN: r145008
This commit is contained in:
Jakub Jelinek 2009-03-23 15:00:34 +01:00 committed by Jakub Jelinek
parent a583a67ee3
commit 88ccb72ad1
4 changed files with 32 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2009-03-23 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/39516
* lambda-code.c (perfect_nestify): Fix type of the uboundvar variable.
2009-03-23 Bingfeng Mei <bmei@broadcom.com>
* config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint

View File

@ -2472,7 +2472,8 @@ perfect_nestify (struct loop *loop,
it to one just in case. */
exit_condition = get_loop_exit_condition (newloop);
uboundvar = create_tmp_var (integer_type_node, "uboundvar");
uboundvar = create_tmp_var (TREE_TYPE (VEC_index (tree, ubounds, 0)),
"uboundvar");
add_referenced_var (uboundvar);
stmt = gimple_build_assign (uboundvar, VEC_index (tree, ubounds, 0));
uboundvar = make_ssa_name (uboundvar, stmt);

View File

@ -1,3 +1,8 @@
2009-03-23 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/39516
* gfortran.dg/pr39516.f: New test.
2009-03-22 Hans-Peter Nilsson <hp@axis.com>
* lib/target-libpath.exp (set_ld_library_path_env_vars):

View File

@ -0,0 +1,20 @@
C PR tree-optimization/39516
C { dg-do compile }
C { dg-options "-O2 -ftree-loop-linear" }
SUBROUTINE SUB(A, B, M)
IMPLICIT NONE
DOUBLE PRECISION A(20,20), B(20)
INTEGER*8 I, J, K, M
DO I=1,M
DO J=1,M
A(I,J)=A(I,J)+1
END DO
END DO
DO K=1,20
DO I=1,M
DO J=1,M
B(I)=B(I)+A(I,J)
END DO
END DO
END DO
END SUBROUTINE