File1: #include <assert.h> \n#include <unistd.h>\nint main()\n{\n  int i=0;\n#pragma omp parallel\n#pragma omp single\n  {\n#pragma omp task depend (out:i)\n    {\n      sleep(3);\n      i = 1;    \n    }\n#pragma omp task depend (out:i)\n    i = 2;    \n  }\n\n  assert (i==2);\n  return 0;\n} \n
File2: program DRB078_taskdep2_orig_no\n    use omp_lib\n    implicit none\n\n    integer :: i\n    i = 0\n\n    !$omp parallel\n        !$omp single\n            !$omp task depend (out:i)\n                call sleep(3)\n                i=3\n            !$omp end task\n            !$omp task depend (out:i)\n                i=2\n            !$omp end task\n        !$omp end single\n    !$omp end parallel\n\n    if (i /=2 ) then\n        print 100, i\n        100 format (i3)\n    end if\nend program