1! { dg-do run }
2! inspired by PR17175
3REAL X
4DOUBLE PRECISION Y
5
6INTEGER, PARAMETER :: DP = KIND(Y)
7
8INTEGER(kind=1) I1
9INTEGER(kind=2) I2
10INTEGER(kind=4) I4
11INTEGER(kind=8) I8
12
13X = 1.
14Y = 1._DP
15
16I1 = 10
17I2 = -10
18I4 = 20
19I8 = -20
20
21X = SCALE (X, I1)
22X = SCALE (X, I2)
23IF (X.NE.1.) CALL ABORT()
24X = SCALE (X, I4)
25X = SCALE (X, I8)
26IF (X.NE.1.) CALL ABORT()
27
28Y = SCALE (Y, I1)
29Y = SCALE (Y, I2)
30IF (Y.NE.1._DP) CALL ABORT()
31Y = SCALE (Y, I4)
32Y = SCALE (Y, I8)
33IF (Y.NE.1._DP) CALL ABORT()
34
35END
36