The F2008 standard added the BLOCK/ENDBLOCK construct. Intel® Compiler 19.0 starts to support its use inside an OpenMP* parallel region, making it easier to write thread safe code.
Consider below example:
!$omp parallel shared (x) ! This 'x' will be shared
block
real :: x = 2. ! This 'x' will be private (block scope)
real :: in_block ! This 'in_block' will be private
in_block = x ! This is the private 'x'
end block
!$omp end parallel
Refer to the Intel® Parallel Studio XE 2019 Composer Edition product documentation for additional details.