2015-07-03 Christophe Lyon <christophe.lyon@linaro.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / pr63778.f
blob11ce151a849ec4cf508c756d50b5d506d8d61745
1 ! { dg-do compile }
2 ! { dg-options "-O3 -ffast-math" }
4 SUBROUTINE ZUNG2L( M, N, K, A, LDA, TAU, WORK, INFO )
5 COMPLEX*16 A( LDA, * ), TAU( * ), WORK( * )
6 IF( M.LT.0 ) THEN
7 END IF
8 CALL ZLARF( 'LEFT', M-N+II, II-1, A( 1, II ), 1, TAU( I ), A,
9 $ LDA, WORK )
10 CALL ZSCAL( M-N+II-1, -TAU( I ), A( 1, II ), 1 )
11 A( M-N+II, II ) = ONE - TAU( I )
12 END
13 SUBROUTINE ZLARF( SIDE, M, N, V, INCV, TAU, C, LDC, WORK )
14 CHARACTER SIDE(*)
15 LOGICAL LSAME
16 COMPLEX*16 C( LDC, * ), V(*), WORK(*), TAU
17 IF( LSAME( SIDE, 'L' ) ) THEN
18 IF( TAU.NE.ZERO ) THEN
19 CALL ZGEMV( 'CONJUGATE TRANSPOSE', M, N, ONE, C, LDC, V,
20 $ INCV, ZERO, WORK, 1 )
21 END IF
22 END IF
23 END
24 LOGICAL FUNCTION LSAME( CA, CB )
25 CHARACTER CA(*), CB(*)
26 END
27 SUBROUTINE ZGEMV ( TRANS, M, N, ALPHA, A, LDA, X, INCX,
28 $ BETA, Y, INCY )
29 COMPLEX*16 A( LDA, * ), X( * ), Y( * )
30 CHARACTER TRANS(*)
31 LOGICAL LSAME
32 IF( LSAME( TRANS, 'N' ) )THEN
33 IF( INCY.EQ.1 )THEN
34 IF( X( JX ).NE.ZERO )THEN
35 Y( I ) = Y( I ) + TEMP*A( I, J )
36 END IF
37 END IF
38 END IF
39 END
40 SUBROUTINE ZSCAL(N,ZA,ZX,INCX)
41 COMPLEX*16 ZA,ZX(1)
42 IF( N.LE.0 .OR. INCX.LE.0 )RETURN
43 20 DO 30 I = 1,N
44 ZX(I) = ZA*ZX(I)
45 30 CONTINUE
46 END