Test which checks the omp section firstprivate directive by adding a variable which is defined before the parallel region.
2.0
omp firstprivate
INTEGER FUNCTION section_firstprivate()
IMPLICIT NONE
INTEGER known_sum
INTEGER sum,sum0
COMMON /orphvars/ sum,sum0
sum = 7
sum0 = 11
!$omp parallel
!$omp sections firstprivate(sum0)private(sum0)
!$omp section
!$omp critical
sum = sum + sum0
!$omp end critical
!$omp section
!$omp critical
sum = sum + sum0
!$omp end critical
!$omp section
!$omp critical
sum = sum + sum0
!$omp end critical
!$omp end sections
!$omp end parallel
known_sum = 11*3+7
IF ( known_sum .EQ. sum) THEN
= 1
ELSE
= 0
END IF
END