1! { dg-do compile } 2! Tests the fix for PR25091 and PR25092 in which mismatched array 3! specifications between entries of the same procedure were not diagnosed. 4 5! Contributed by Joost VandeVondele <jv244@cam.ac.uk> 6 7! This was PR25091 - no diagnostic given on error 8 FUNCTION F1() RESULT(RES_F1) ! { dg-error "mismatched array specifications" } 9 INTEGER RES_F1(2,2) 10 INTEGER RES_E1(4) 11 ENTRY E1() RESULT(RES_E1) 12 END FUNCTION 13 14! This was PR25092 - no diagnostic given on error 15 FUNCTION F2() RESULT(RES_F2) ! { dg-error "mismatched array specifications" } 16 INTEGER :: RES_F2(4) 17 INTEGER :: RES_E2(3) 18 ENTRY E2() RESULT(RES_E2) 19 END FUNCTION 20 21! Check that the versions without explicit results give the error 22 FUNCTION F3() ! { dg-error "mismatched array specifications" } 23 INTEGER :: F3(4) 24 INTEGER :: E3(2,2) 25 ENTRY E3() 26 END FUNCTION 27 28 FUNCTION F4() ! { dg-error "mismatched array specifications" } 29 INTEGER :: F4(4) 30 INTEGER :: E4(3) 31 ENTRY E4() 32 END FUNCTION 33 34! Check that conforming entries are OK. 35 FUNCTION F5() 36 INTEGER :: F5(4,5,6) 37 INTEGER :: E5(4,5,6) 38 ENTRY E5() 39 END FUNCTION 40