On 17/05/16 07:09 +0200, Ralf Corsepius wrote:
>On 05/16/2016 09:39 PM, Richard Shaw wrote:
>>Unfortunately I am in the position that I must initiate the
>>non-responsive maintainer policy for Ralf.
>
>I apologize for not having responded, but ...
>
>
>>The Coin3 package has a serious bug[1] that was only recently uncovered
>>by GCC 6.
>
>The big question here is, whether this issue is a bug in Coin at all
>or actually is a bug in GCC6 - I don't know.
It's a bug in Coin. Absolutely 100% definitely.
See
https://bugzilla.redhat.com/show_bug.cgi?id=1323159#c43
The code sets a memory location, then uses placement-new to construct
an object at that location. The object's constructor does not
initialize the member variable at that location, and expects it to
retain its previous value.
There is no guarantee in the C++ standard that the bytes underlying an
object retain the previous values after the object is constructed. The
code has undefined behaviour and must be fixed.
See also
https://bugzilla.redhat.com/show_bug.cgi?id=1323159#c45 which
links to
https://gcc.gnu.org/gcc-6/porting_to.html which explicitly
states this new behaviour of GCC is intentional, and correct.