This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/33439] OpenMP: Incorrect error message for chunksize variable
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Sep 2007 17:30:50 -0000
- Subject: [Bug fortran/33439] OpenMP: Incorrect error message for chunksize variable
- References: <bug-33439-14710@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from jakub at gcc dot gnu dot org 2007-09-19 17:30 -------
I think the standard is very vague here.
First consider:
!$omp parallel default(none)
call something
!$omp do schedule(static, chunksize)
do i=1,100
call somethingelse
done
!$omp end do
!$omp end parallel
Do you agree that this must issue an error? Here page 36 only says that
if there was say !$omp do schedule(static, chunksize) private(chunksize), then
schedule would use the outer chunksize, while inside of the loop would be a
different, privatized, variable. I can't see how chunksize wouldn't count here
as a reference of that variable inside of the parallel.
Now, consider:
!$omp parallel default(none)
!$omp do schedule(static, chunksize)
do i=1,100
call somethingelse
done
!$omp end do
!$omp end parallel
I believe this falls to the same category as the previous one.
Now, for the combined parallel it is very unclear, but doesn't section 2.6
say they have the same semantics as the above?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33439