From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- gcc/testsuite/gfortran.dg/pr24823.f | 78 +++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/pr24823.f (limited to 'gcc/testsuite/gfortran.dg/pr24823.f') diff --git a/gcc/testsuite/gfortran.dg/pr24823.f b/gcc/testsuite/gfortran.dg/pr24823.f new file mode 100644 index 000000000..1b6f448d9 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr24823.f @@ -0,0 +1,78 @@ +! { dg-do compile } +! { dg-options "-O2" } +! PR24823 Flow didn't handle a PARALLEL as destination of a SET properly. + SUBROUTINE ZLATMR( M, N, DIST, ISEED, SYM, D, MODE, COND, DMAX, + $ RSIGN, GRADE, DL, MODEL, CONDL, DR, MODER, + $ PACK, A, LDA, IWORK, INFO ) + COMPLEX*16 A( LDA, * ), D( * ), DL( * ), DR( * ) + LOGICAL BADPVT, DZERO, FULBND + COMPLEX*16 ZLATM2, ZLATM3 + IF( IGRADE.EQ.4 .AND. MODEL.EQ.0 ) THEN + END IF + IF( IPVTNG.GT.0 ) THEN + END IF + IF( M.LT.0 ) THEN + ELSE IF( IPACK.EQ.-1 .OR. ( ( IPACK.EQ.1 .OR. IPACK.EQ.2 .OR. + $ IPACK.EQ.5 .OR. IPACK.EQ.6 ) .AND. ISYM.EQ.1 ) .OR. + $ ( IPACK.EQ.3 .AND. ISYM.EQ.1 .AND. ( KL.NE.0 .OR. M.NE. + $ 6 ) .AND. LDA.LT.KUU+1 ) .OR. + $ ( IPACK.EQ.7 .AND. LDA.LT.KLL+KUU+1 ) ) THEN + INFO = -26 + END IF + IF( INFO.NE.0 ) THEN + RETURN + END IF + IF( KUU.EQ.N-1 .AND. KLL.EQ.M-1 ) + $ FULBND = .TRUE. + IF( MODE.NE.0 .AND. MODE.NE.-6 .AND. MODE.NE.6 ) THEN + TEMP = ABS( D( 1 ) ) + IF( TEMP.EQ.ZERO .AND. DMAX.NE.CZERO ) THEN + INFO = 2 + END IF + END IF + IF( ISYM.EQ.0 ) THEN + END IF + IF( IGRADE.EQ.1 .OR. IGRADE.EQ.3 .OR. IGRADE.EQ.4 .OR. IGRADE.EQ. + $ 5 .OR. IGRADE.EQ.6 ) THEN + IF( INFO.NE.0 ) THEN + END IF + END IF + IF( FULBND ) THEN + IF( IPACK.EQ.0 ) THEN + IF( ISYM.EQ.0 ) THEN + CTEMP = ZLATM3( M, N, I, J, ISUB, JSUB, KL, KU, + $ IWORK, SPARSE ) + DO 120 I = 1, M + CTEMP = ZLATM3( M, N, I, J, ISUB, JSUB, KL, KU, + $ IWORK, SPARSE ) + 120 CONTINUE + END IF + IF( I.LT.1 ) THEN + IF( ISYM.EQ.0 ) THEN + A( J-I+1, I ) = DCONJG( ZLATM2( M, N, I, J, KL, + $ DR, IPVTNG, IWORK, SPARSE ) ) + ELSE + A( J-I+1, I ) = ZLATM2( M, N, I, J, KL, KU, + $ IPVTNG, IWORK, SPARSE ) + END IF + END IF + IF( ISYM.NE.1 ) THEN + IF( I.GE.1 .AND. I.NE.J ) THEN + IF( ISYM.EQ.0 ) THEN + END IF + END IF + A( I-J+KUU+1, J ) = ZLATM2( M, N, I, J, KL, KU, + $ DR, IPVTNG, IWORK, SPARSE ) + END IF + END IF + END IF + IF( IPACK.EQ.0 ) THEN + ONORM = ZLANGB( 'M', N, KLL, KUU, A, LDA, TEMPA ) + END IF + IF( ANORM.GE.ZERO ) THEN + IF( ANORM.GT.ZERO .AND. ONORM.EQ.ZERO ) THEN + IF( IPACK.LE.2 ) THEN + END IF + END IF + END IF + END -- cgit v1.2.3