| ! RUN: %python %S/test_errors.py %s %flang_fc1 |
| ! This test checks for semantic errors in error stop statements based on the |
| ! statement specification in section 11.4 of the Fortran 2018 standard. |
| ! The errors in this test would be hidden by the errors in |
| ! the test error_stop01a.f90 if they were included in that file, |
| ! and are thus tested here. |
| |
| program test_error_stop |
| implicit none |
| |
| integer int_code, int_array(1), int_coarray[*], array_coarray(1)[*] |
| integer(kind=1) non_default_int_kind |
| character(len=128) char_code, char_array(1), char_coarray[*], non_logical |
| character(kind=4, len=128) non_default_char_kind |
| logical bool, logical_array(1), logical_coarray[*], non_integer, non_character |
| |
| !___ non-standard-conforming statements _________________________ |
| |
| !ERROR: Stop code must be of INTEGER or CHARACTER type |
| error stop non_integer |
| |
| !ERROR: Stop code must be of INTEGER or CHARACTER type |
| error stop non_character |
| |
| !ERROR: INTEGER stop code must be of default kind |
| error stop non_default_int_kind |
| |
| !ERROR: CHARACTER stop code must be of default kind |
| error stop non_default_char_kind |
| |
| !ERROR: Must be a scalar value, but is a rank-1 array |
| error stop char_array |
| |
| !ERROR: Must be a scalar value, but is a rank-1 array |
| error stop array_coarray[1] |
| |
| !ERROR: Must have LOGICAL type, but is CHARACTER(KIND=1,LEN=128_8) |
| error stop int_code, quiet=non_logical |
| |
| !ERROR: Must be a scalar value, but is a rank-1 array |
| error stop int_code, quiet=logical_array |
| |
| end program test_error_stop |