Allow utility constructs (error and nothing) to appear in the specification part as well as the execution part. The exception is "ERROR AT(EXECUTION)" which should only be in the execution part. In case of ambiguity (the boundary between the specification and the execution part), utility constructs will be parsed as belonging to the specification part. In such cases move them to the execution part in the OpenMP canonicalization code.
9 lines
245 B
Fortran
9 lines
245 B
Fortran
!RUN: %python %S/../test_errors.py %s %flang -fopenmp -fopenmp-version=51
|
|
|
|
subroutine f00(x)
|
|
!ERROR: The ERROR directive with AT(EXECUTION) cannot appear in the specification part
|
|
!$omp error at(execution) message("Haaa!")
|
|
integer :: x
|
|
end
|
|
|