[Bug c++/88967] [9 regression] openmp default(none) broken

2019-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88967 --- Comment #10 from Jakub Jelinek --- firstprivate is that each thread will have its own copy of the variable, initialized from the original. shared means there is just one copy. E.g. if you take the address of the variable within the region,

[Bug c++/88967] [9 regression] openmp default(none) broken

2019-01-22 Thread lebedev.ri at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88967 --- Comment #9 from Roman Lebedev --- (In reply to Jakub Jelinek from comment #8) > Well, in your case firstprivate is really what you want, unless the compiler > figures that out for you magically you want to firstprivatize these > variables.

[Bug c++/88967] [9 regression] openmp default(none) broken

2019-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88967 --- Comment #8 from Jakub Jelinek --- Well, in your case firstprivate is really what you want, unless the compiler figures that out for you magically you want to firstprivatize these variables. A different thing is of course if you have a large

[Bug c++/88967] [9 regression] openmp default(none) broken

2019-01-22 Thread lebedev.ri at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88967 --- Comment #7 from Roman Lebedev --- (In reply to Jakub Jelinek from comment #6) > No, gcc always implements just one OpenMP version, the latest one that has > support written. E.g. because of this everyone affected will need to either just

[Bug c++/88967] [9 regression] openmp default(none) broken

2019-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88967 --- Comment #6 from Jakub Jelinek --- No, gcc always implements just one OpenMP version, the latest one that has support written. Defaulting to almost 8 years old OpenMP version is weird.

[Bug c++/88967] [9 regression] openmp default(none) broken

2019-01-22 Thread lebedev.ri at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88967 --- Comment #5 from Roman Lebedev --- (In reply to Jakub Jelinek from comment #1) > I've asked the ifort/clang maintainers about why they keep violating the > standard, but haven't heard back from them. And I must say I was trying > hard to

[Bug c++/88967] [9 regression] openmp default(none) broken

2019-01-22 Thread lebedev.ri at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88967 --- Comment #4 from Roman Lebedev --- (In reply to Roman Lebedev from comment #3) > While there, any advice on how that is supposed to be rewritten? > Simply adding "shared(begin, len)" makes older gcc's unhappy > https://godbolt.org/z/gyZBR- >

[Bug c++/88967] [9 regression] openmp default(none) broken

2019-01-21 Thread lebedev.ri at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88967 --- Comment #3 from Roman Lebedev --- While there, any advice on how that is supposed to be rewritten? Simply adding "shared(begin, len)" makes older gcc's unhappy https://godbolt.org/z/gyZBR- Only keeping "shared(begin, len)" (and dropping

[Bug c++/88967] [9 regression] openmp default(none) broken

2019-01-21 Thread lebedev.ri at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88967 --- Comment #2 from Roman Lebedev --- (In reply to Jakub Jelinek from comment #1) > It indeed changed, already in OpenMP 4.0 actually, but I've been long hoping > that the change will be reverted in later OpenMP standards, in the end that > is

[Bug c++/88967] [9 regression] openmp default(none) broken

2019-01-21 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88967 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---