[Bug tree-optimization/53436] Volatile behaves strange with OpenMP

2012-05-24 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53436 --- Comment #9 from Andrew Pinski 2012-05-24 22:34:30 UTC --- (In reply to comment #8) > You cannot invoke the C99 standard when there is concurrency in your program, > as the standard doesn't deal with it at all. Though C++11/C11 does but we do

[Bug tree-optimization/53436] Volatile behaves strange with OpenMP

2012-05-24 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53436 Eric Botcazou changed: What|Removed |Added CC||ebotcazou at gcc dot |

[Bug tree-optimization/53436] Volatile behaves strange with OpenMP

2012-05-22 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53436 --- Comment #7 from Jakub Jelinek 2012-05-22 10:01:11 UTC --- What GCC did was wrong. But your testcase is clearly invalid as per OpenMP 3.1, 1.4.1: "Similarly, if at least one thread reads from a memory unit and at least one thread writes witho

[Bug tree-optimization/53436] Volatile behaves strange with OpenMP

2012-05-22 Thread o.mangold at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53436 --- Comment #6 from o.mangold at googlemail dot com 2012-05-22 08:32:03 UTC --- Yes, I get, that it's not a good way to do things, as (among other reasons) a volatile access is no memory fence. So accesses to other locations may not be ordered. But

[Bug tree-optimization/53436] Volatile behaves strange with OpenMP

2012-05-22 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53436 --- Comment #5 from Jakub Jelinek 2012-05-22 07:59:01 UTC --- (In reply to comment #4) > (In reply to comment #3) > > The testcase is not valid OpenMP, there is no flush operation in between the > > store and reads, > > Is that also needed with

[Bug tree-optimization/53436] Volatile behaves strange with OpenMP

2012-05-22 Thread o.mangold at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53436 --- Comment #4 from o.mangold at googlemail dot com 2012-05-22 07:45:46 UTC --- (In reply to comment #3) > The testcase is not valid OpenMP, there is no flush operation in between the > store and reads, Is that also needed with volatile variables

[Bug tree-optimization/53436] Volatile behaves strange with OpenMP

2012-05-22 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53436 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC|

[Bug tree-optimization/53436] Volatile behaves strange with OpenMP

2012-05-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53436 --- Comment #2 from Jakub Jelinek 2012-05-21 21:06:19 UTC --- Author: jakub Date: Mon May 21 21:06:13 2012 New Revision: 187742 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187742 Log: PR tree-optimization/53436 * omp-low.c (omp

[Bug tree-optimization/53436] Volatile behaves strange with OpenMP

2012-05-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53436 --- Comment #1 from Jakub Jelinek 2012-05-21 21:05:39 UTC --- Author: jakub Date: Mon May 21 21:05:33 2012 New Revision: 187741 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187741 Log: PR tree-optimization/53436 * omp-low.c (omp