16c1ac141SIvan Zhechev! RUN: %python %S/test_errors.py %s %flang_fc1 2455ed8deSpeter klausler! Test ASSIGN statement, assigned GOTO, and assigned format labels 3455ed8deSpeter klausler! (see subclause 8.2.4 in Fortran 90 (*not* 2018!) 4455ed8deSpeter klausler 5455ed8deSpeter klauslerprogram main 6455ed8deSpeter klausler call test(0) 7455ed8deSpeter klausler contains 8455ed8deSpeter klausler subroutine test(n) 9455ed8deSpeter klausler integer, intent(in) :: n 10455ed8deSpeter klausler integer :: lab 11455ed8deSpeter klausler integer(kind=1) :: badlab1 12455ed8deSpeter klausler real :: badlab2 13455ed8deSpeter klausler integer :: badlab3(1) 14*cc180f4cSPeter Klausler character, pointer :: badlab4(:) ! not contiguous 15*cc180f4cSPeter Klausler character, pointer, contiguous :: oklab4(:) 16455ed8deSpeter klausler assign 1 to lab ! ok 17455ed8deSpeter klausler assign 1 to implicitlab1 ! ok 18455ed8deSpeter klausler !ERROR: 'badlab1' must be a default integer scalar variable 19455ed8deSpeter klausler assign 1 to badlab1 20455ed8deSpeter klausler !ERROR: 'badlab2' must be a default integer scalar variable 21455ed8deSpeter klausler assign 1 to badlab2 22455ed8deSpeter klausler !ERROR: 'badlab3' must be a default integer scalar variable 23455ed8deSpeter klausler assign 1 to badlab3 24455ed8deSpeter klausler !ERROR: 'test' must be a default integer scalar variable 25455ed8deSpeter klausler assign 1 to test 26455ed8deSpeter klausler if (n==1) goto lab ! ok 27455ed8deSpeter klausler if (n==1) goto implicitlab2 ! ok 28455ed8deSpeter klausler !ERROR: 'badlab1' must be a default integer scalar variable 29455ed8deSpeter klausler if (n==1) goto badlab1 30455ed8deSpeter klausler !ERROR: 'badlab2' must be a default integer scalar variable 31455ed8deSpeter klausler if (n==1) goto badlab2 32455ed8deSpeter klausler !ERROR: 'badlab3' must be a default integer scalar variable 33455ed8deSpeter klausler if (n==1) goto badlab3 34455ed8deSpeter klausler if (n==1) goto lab(1) ! ok 35455ed8deSpeter klausler if (n==1) goto lab,(1) ! ok 36455ed8deSpeter klausler if (n==1) goto lab(1,1) ! ok 37455ed8deSpeter klausler assign 3 to lab ! ok 38455ed8deSpeter klausler write(*,fmt=lab) ! ok 39455ed8deSpeter klausler write(*,fmt=implicitlab3) ! ok 40cadc07f0SPeter Klausler !ERROR: Format expression must be default character or default scalar integer 41455ed8deSpeter klausler write(*,fmt=badlab1) 42cadc07f0SPeter Klausler !ERROR: Format expression must be default character or default scalar integer 43cadc07f0SPeter Klausler write(*,fmt=z'feedface') 44cadc07f0SPeter Klausler !Legacy extension cases 45455ed8deSpeter klausler write(*,fmt=badlab2) 46cadc07f0SPeter Klausler write(*,fmt=badlab3) 47*cc180f4cSPeter Klausler !Array cases 48*cc180f4cSPeter Klausler write(*,fmt=badlab4) ! ok 49*cc180f4cSPeter Klausler write(*,fmt=badlab5) ! ok 50455ed8deSpeter klausler1 continue 51455ed8deSpeter klausler3 format('yes') 52455ed8deSpeter klausler end subroutine test 53455ed8deSpeter klauslerend program 54