xref: /llvm-project/flang/test/Semantics/error_stop1b.f90 (revision 21dceb3ca67cdc0e05b95e1d229bd01a8cd29f60)
1*21dceb3cSKatherine Rasmussen! RUN: %python %S/test_errors.py %s %flang_fc1
2*21dceb3cSKatherine Rasmussen! This test checks for semantic errors in error stop statements based on the
3*21dceb3cSKatherine Rasmussen! statement specification in section 11.4 of the Fortran 2018 standard.
4*21dceb3cSKatherine Rasmussen! The errors in this test would be hidden by the errors in
5*21dceb3cSKatherine Rasmussen! the test error_stop01a.f90 if they were included in that file,
6*21dceb3cSKatherine Rasmussen! and are thus tested here.
7*21dceb3cSKatherine Rasmussen
8*21dceb3cSKatherine Rasmussenprogram test_error_stop
9*21dceb3cSKatherine Rasmussen  implicit none
10*21dceb3cSKatherine Rasmussen
11*21dceb3cSKatherine Rasmussen  integer int_code, int_array(1), int_coarray[*], array_coarray(1)[*]
12*21dceb3cSKatherine Rasmussen  integer(kind=1) non_default_int_kind
13*21dceb3cSKatherine Rasmussen  character(len=128) char_code, char_array(1), char_coarray[*], non_logical
14*21dceb3cSKatherine Rasmussen  character(kind=4, len=128) non_default_char_kind
15*21dceb3cSKatherine Rasmussen  logical bool, logical_array(1), logical_coarray[*], non_integer, non_character
16*21dceb3cSKatherine Rasmussen
17*21dceb3cSKatherine Rasmussen  !___ non-standard-conforming statements _________________________
18*21dceb3cSKatherine Rasmussen
19*21dceb3cSKatherine Rasmussen  !ERROR: Stop code must be of INTEGER or CHARACTER type
20*21dceb3cSKatherine Rasmussen  error stop non_integer
21*21dceb3cSKatherine Rasmussen
22*21dceb3cSKatherine Rasmussen  !ERROR: Stop code must be of INTEGER or CHARACTER type
23*21dceb3cSKatherine Rasmussen  error stop non_character
24*21dceb3cSKatherine Rasmussen
25*21dceb3cSKatherine Rasmussen  !ERROR: INTEGER stop code must be of default kind
26*21dceb3cSKatherine Rasmussen  error stop non_default_int_kind
27*21dceb3cSKatherine Rasmussen
28*21dceb3cSKatherine Rasmussen  !ERROR: CHARACTER stop code must be of default kind
29*21dceb3cSKatherine Rasmussen  error stop non_default_char_kind
30*21dceb3cSKatherine Rasmussen
31*21dceb3cSKatherine Rasmussen  !ERROR: Must be a scalar value, but is a rank-1 array
32*21dceb3cSKatherine Rasmussen  error stop char_array
33*21dceb3cSKatherine Rasmussen
34*21dceb3cSKatherine Rasmussen  !ERROR: Must be a scalar value, but is a rank-1 array
35*21dceb3cSKatherine Rasmussen  error stop array_coarray[1]
36*21dceb3cSKatherine Rasmussen
37*21dceb3cSKatherine Rasmussen  !ERROR: Must have LOGICAL type, but is CHARACTER(KIND=1,LEN=128_8)
38*21dceb3cSKatherine Rasmussen  error stop int_code, quiet=non_logical
39*21dceb3cSKatherine Rasmussen
40*21dceb3cSKatherine Rasmussen  !ERROR: Must be a scalar value, but is a rank-1 array
41*21dceb3cSKatherine Rasmussen  error stop int_code, quiet=logical_array
42*21dceb3cSKatherine Rasmussen
43*21dceb3cSKatherine Rasmussenend program test_error_stop
44