1! { dg-do compile }
2! Tests the fix for PR24168, in which line   would return
3! Error: Incompatible ranks 2 and 1 in assignment at (1)
4! This came about because the simplification of the binary
5! operation, in the first actual argument of spread, was not
6! returning the rank of the result.  Thus the error could
7! be generated with any operator and other intrinsics than
8! cshift.
9!
10! Contributed by Steve Kargl  <kargl@gcc.gnu.org>
11!
12 integer, parameter :: nx=2, ny=2
13 real, dimension(nx, ny) :: f
14 f = spread(2 * cshift((/ 1, 2 /), nx/2), 2, ny)
15end
16
17