Using Helgrind (Valgrind-2.2) on IA-32 on r108219 (2005-12-04) version of the
GOMP-branch, and this test program goes through with no errors or potential
problems reported by that tool.

Using the latest update of the branch (2006-02-06), and 113 errors and 123
possible data races are reported by Helgrind.

gfortran-gomp-new -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc/configure --prefix=/usr/local/gomp-new
--program-suffix=-gomp-new --enable-threads=posix
--enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.2.0-gomp-20050608-branch 20060206 (experimental) (merged
20060206)

gfortran-gomp-new -fopenmp -lgomp -g -fautomatic -O 0 -o multi multi.for

valgrind --tool=helgrind --error-limit=no --log-file=multi.txt ./multi



      PROGRAM MULTI
C
      INTEGER IJK
      COMMON /IABC/ IJK(100)
C$OMP THREADPRIVATE(/IABC/)
C
      INTEGER IC
C
      DO I = 1, 100
         IJK( I ) = I
      END DO
C
C$OMP PARALLEL COPYIN(/IABC/)
C
      CALL SUBR1
C
C$OMP BARRIER
C$OMP MASTER
      IC = 1
      PRINT *,IC
C$OMP END MASTER
C$OMP END PARALLEL
C
      DO I = 301, 400
         IJK( I-300 ) = I
         IF ( MOD(I,10) .EQ. 0 ) PRINT *,I
      END DO
C
C$OMP PARALLEL COPYIN(/IABC/)
C
      CALL SUBR1
C$OMP END PARALLEL
C
      STOP
      END
C
      SUBROUTINE SUBR1
C
      INTEGER IKL
      COMMON /ICDE/ IKL(100)
C$OMP THREADPRIVATE(/ICDE/)
C
      INTEGER IJK
      COMMON /IABC/ IJK(100)
C$OMP THREADPRIVATE(/IABC/)
C
C$OMP DO PRIVATE( K )
      DO K = 1, 100
         IKL( K ) = IJK( K )
      END DO
C$OMP ENDDO
C
      RETURN
      END


-- 
           Summary: Helgrind (Valgrind) error reports for libgomp
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgomp
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: magnus_os at yahoo dot se


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26231

Reply via email to