[Bug c++/40362] openmp: some libgomp functions trigger data races

2009-06-13 Thread bart dot vanassche at gmail dot com
--- Comment #9 from bart dot vanassche at gmail dot com 2009-06-13 16:23 --- (In reply to comment #7) The patch below is sufficient to suppress all conflicting accesses reported by DRD. I've done my best to ensure that this patch is not only sufficient but also minimal. Although Jakub

[Bug c++/40362] openmp: some libgomp functions trigger data races

2009-06-08 Thread bart dot vanassche at gmail dot com
--- Comment #8 from bart dot vanassche at gmail dot com 2009-06-08 18:30 --- (In reply to comment #7) Thanks for the feedback. I'll use the above information to suppress the complaints on thr->ts.work_share->next_ws and will post the results here. -- http://gcc.gnu.org/bugzilla/sh

[Bug c++/40362] openmp: some libgomp functions trigger data races

2009-06-07 Thread jakub at gcc dot gnu dot org
--- Comment #7 from jakub at gcc dot gnu dot org 2009-06-07 13:07 --- valgrind just isn't smart enough to understand it. Obviously --enable-linux-futex build has a lot of synchronization primitives that are beyond what valgrind is able to understand, but even with the posix only primitiv

[Bug c++/40362] openmp: some libgomp functions trigger data races

2009-06-07 Thread bart dot vanassche at gmail dot com
--- Comment #6 from bart dot vanassche at gmail dot com 2009-06-07 07:09 --- (In reply to comment #5) > You have to read the code to understand how that happens. > But basically GOMP_parallel_start does: > gomp_team_start (fn, data, num_threads, gomp_new_team (num_threads)); > > Wher

[Bug c++/40362] openmp: some libgomp functions trigger data races

2009-06-06 Thread pinskia at gcc dot gnu dot org
--- Comment #5 from pinskia at gcc dot gnu dot org 2009-06-07 06:57 --- You have to read the code to understand how that happens. But basically GOMP_parallel_start does: gomp_team_start (fn, data, num_threads, gomp_new_team (num_threads)); Where gomp_new_team creates the *thr (which i

[Bug c++/40362] openmp: some libgomp functions trigger data races

2009-06-06 Thread bart dot vanassche at gmail dot com
--- Comment #4 from bart dot vanassche at gmail dot com 2009-06-07 06:52 --- (In reply to comment #3) > Except this is a false positive as thread 4 is not created when the thread 2 > writes to *thr. It looks like valgrind does not know what is happening here > really. I'm not sure tha

[Bug c++/40362] openmp: some libgomp functions trigger data races

2009-06-06 Thread pinskia at gcc dot gnu dot org
--- Comment #3 from pinskia at gcc dot gnu dot org 2009-06-07 06:22 --- Except this is a false positive as thread 4 is not created when the thread 2 writes to *thr. It looks like valgrind does not know what is happening here really. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40

[Bug c++/40362] openmp: some libgomp functions trigger data races

2009-06-06 Thread bart dot vanassche at gmail dot com
--- Comment #2 from bart dot vanassche at gmail dot com 2009-06-07 06:14 --- (In reply to comment #1) > >==21970==at 0x71A35FD: gomp_iter_dynamic_next (iter.c:190) > > Is a bogus warning as that is thread specific data: > struct gomp_thread *thr = gomp_thread (); > struct gomp_

[Bug c++/40362] openmp: some libgomp functions trigger data races

2009-06-06 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2009-06-07 00:11 --- >==21970==at 0x71A35FD: gomp_iter_dynamic_next (iter.c:190) Is a bogus warning as that is thread specific data: struct gomp_thread *thr = gomp_thread (); struct gomp_work_share *ws = thr->ts.work_share; --