[Bug c++/71388] [6/7 regression] wrong code, DSE removes memset in TBB allocate_scheduler (causes run-time crashes)

2016-06-02 Thread david.abdurachmanov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388

--- Comment #7 from David Abdurachmanov  
---
Just for reference (if someone reads this PR):
https://gcc.gnu.org/ml/gcc/2016-02/msg00205.html

It contains a reference to C++ standard.

[Bug c++/71388] [6/7 regression] wrong code, DSE removes memset in TBB allocate_scheduler (causes run-time crashes)

2016-06-02 Thread david.abdurachmanov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388

--- Comment #6 from David Abdurachmanov  
---
Agreed. As usual, thanks for verifying this. Will cook and send a patch to TBB.

[Bug c++/71388] [6/7 regression] wrong code, DSE removes memset in TBB allocate_scheduler (causes run-time crashes)

2016-06-02 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek  ---
You can use -flifetime-dse=1 or -fno-lifetime-dse to work around this, but
better fix TBB, this really isn't valid C++.

[Bug c++/71388] [6/7 regression] wrong code, DSE removes memset in TBB allocate_scheduler (causes run-time crashes)

2016-06-02 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388

--- Comment #4 from Andreas Schwab  ---
You should initialize the object in the constructor.

[Bug c++/71388] [6/7 regression] wrong code, DSE removes memset in TBB allocate_scheduler (causes run-time crashes)

2016-06-02 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388

--- Comment #3 from Andrew Pinski  ---
Gcc considers the memset as being dead as nothing validly can assume anything
about the memory after the inplacement new.

[Bug c++/71388] [6/7 regression] wrong code, DSE removes memset in TBB allocate_scheduler (causes run-time crashes)

2016-06-02 Thread david.abdurachmanov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388

--- Comment #2 from David Abdurachmanov  
---
Doesn't std::memset apply here? They allocate storage, set it to 0x0 and then
place construct the object.

At first look I wouldn't expect GCC to remove std::memset.

[Bug c++/71388] [6/7 regression] wrong code, DSE removes memset in TBB allocate_scheduler (causes run-time crashes)

2016-06-02 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #1 from Andrew Pinski  ---
This is not a gcc bug. After a placement new, what the values were in that
memory is undefined.