https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71885

--- Comment #7 from Kern Sibbald <kern at sibbald dot com> ---
Just to be clear:

- This change might be appropriate for higher level of optimization, but is not
appropriate as a default for -O2 and -O1.

- There is no undefined behavior here. We override the new operator explicitly
to be able to allocate and manage the memory the way we want.  The g++ compiler
can make assumptions about what a new operator returns, but it should make any
assumptions about what we are doing to initialize memory inside an overridden
new operator particularly at low optimization levels.  The g++ behavior is
incorrect in this case.  Please correct it.

Reply via email to