1! { dg-do compile } 2! { dg-options "-fmax-errors=0" } 3! PR 31919: Tests for different ranks in min/max were missing. 4program pr31919 5 integer :: i4, i4a(2, 2), i4b(2), i4c(4) 6 real(4) :: r4, r4a(2, 2), r4b(2), r4c(4) 7 real(8) :: r8, r8a(2, 2), r8b(2), r8c(4) 8 9 i4a = max(i4a, i4b) ! { dg-error "Incompatible ranks" } 10 i4a = max0(i4a, i4b) ! { dg-error "Incompatible ranks" } 11 r4a = amax0(i4a, i4b) ! { dg-error "Incompatible ranks" } 12 i4a = max1(r4a, r4b) ! { dg-error "Incompatible ranks" } 13 r4a = amax1(r4a, r4b) ! { dg-error "Incompatible ranks" } 14 r8a = dmax1(r8a, r8b) ! { dg-error "Incompatible ranks" } 15 16 i4a = min(i4a, i4b) ! { dg-error "Incompatible ranks" } 17 i4a = min0(i4a, i4b) ! { dg-error "Incompatible ranks" } 18 i4a = amin0(i4a, i4b) ! { dg-error "Incompatible ranks" } 19 r4a = min1(r4a, r4b) ! { dg-error "Incompatible ranks" } 20 r4a = amin1(r4a, r4b) ! { dg-error "Incompatible ranks" } 21 r8a = dmin1(r8a, r8b) ! { dg-error "Incompatible ranks" } 22 23 i4a = max(i4b, i4c) ! { dg-error "Different shape for arguments" } 24 i4a = max0(i4b, i4c) ! { dg-error "Different shape for arguments" } 25 r4a = amax0(i4b, i4c) ! { dg-error "Different shape for arguments" } 26 i4a = max1(r4b, r4c) ! { dg-error "Different shape for arguments" } 27 r4a = amax1(r4b, r4c) ! { dg-error "Different shape for arguments" } 28 r8a = dmax1(r8B, r8c) ! { dg-error "Different shape for arguments" } 29 30 i4a = min(i4b, i4c) ! { dg-error "Different shape for arguments" } 31 i4a = min0(i4b, i4c) ! { dg-error "Different shape for arguments" } 32 i4a = amin0(i4b, i4c) ! { dg-error "Different shape for arguments" } 33 r4a = min1(r4b, r4c) ! { dg-error "Different shape for arguments" } 34 r4a = amin1(r4b, r4c) ! { dg-error "Different shape for arguments" } 35 r8a = dmin1(r8b, r8c) ! { dg-error "Different shape for arguments" } 36 37 ! checking needs to be position independent 38 i4a = min(i4, i4a, i4, i4b) ! { dg-error "Incompatible ranks" } 39 r4a = min(r4, r4a, r4, r4b) ! { dg-error "Incompatible ranks" } 40 r8a = min(r8, r8a, r8, r8b) ! { dg-error "Incompatible ranks" } 41 i4a = min(i4, i4b, i4, i4c) ! { dg-error "Different shape for arguments" } 42 r4a = min(r4, r4b, r4, r4c) ! { dg-error "Different shape for arguments" } 43 r8a = min(r8, r8b, r8, r8c) ! { dg-error "Different shape for arguments" } 44 45 i4a = max(i4, i4a, i4, i4b) ! { dg-error "Incompatible ranks" } 46 r4a = max(r4, r4a, r4, r4b) ! { dg-error "Incompatible ranks" } 47 r8a = max(r8, r8a, r8, r8b) ! { dg-error "Incompatible ranks" } 48 i4a = max(i4, i4b, i4, i4c) ! { dg-error "Different shape for arguments" } 49 r4a = max(r4, r4b, r4, r4c) ! { dg-error "Different shape for arguments" } 50 r8a = max(r8, r8b, r8, r8c) ! { dg-error "Different shape for arguments" } 51end program 52