cpp: #include <stdlib.h>\n#include <stdio.h>\ndouble b[1000][1000];\n\nint main(int argc, char* argv[]) \n{\n  int i,j;\n  int n=1000, m=1000;\n  for (i=0;i<n;i++)\n#pragma omp parallel for\n    for (j=1;j<m;j++)\n      b[i][j]=b[i][j-1];\n\n  printf("b[500][500]=%f\n", b[500][500]);\n  return 0;\n}\n\n
fortran: program DRB037_truedepseconddimension_orig_yes\n    use omp_lib\n    implicit none\n\n    integer i, j, n, m, len\n    real, dimension(:,:), allocatable :: b\n\n    len = 1000\n    n = len\n    m = len\n\n    allocate (b(len,len))\n\n    do i = 1, n\n        !$omp parallel do\n        do j = 2, m\n            b(i,j) = b(i,j-1)\n        end do\n        !$omp end parallel do\n    end do\n\n    print 100, b(500,500)\n    100 format ('b(500,500) =', F20.6)\n\n    deallocate(b)\nend program