This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [wwwdocs] Describe behavior of -flifetime-dse in class constructors



On 16/02/16 14:55, Martin LiÅka wrote:
Hello.

As I finally hunted issue in Firefox that was responsible for start-up segfault, I would like
to describe a new behavior of the compiler that emits clobbers to class constructors (w/ -flifetime-dse).
As also Richi spotted quite similar issue in openjade package, I think it worth for mentioning in porting:

Ok?
Thanks,
Martin

 <p>
-Finally, the type and mangling of flexible array members has changed
+Furthermore, the type and mangling of flexible array members has changed
 from previous releases.  While in GCC 5 and prior the type of a flexible
 array member is an array of zero elements (a GCC extension), in GCC 6 it
 is that of an array of an unspecified bound (i.e., <tt>T[]</tt> as opposed
@@ -324,6 +324,50 @@
 <tt>-fabi-version</tt> or <tt>-Wabi</tt> option to disable or warn about.
 </p>
+<p>
+Finally, the C++ compiler (with enabled <code>-flifetime-dse</code>)
+has been more aggressive in dead-store elimination in situations where
+a memory store to a location precedes a constructor to the
+memory location. Described situation can be commonly found in programs
+which zero a memory that is eventually passed to a placement new operator:

Minor nit, but I notice we have a different "Finally" point now ;).
Perhaps we shouldn't bother saying "finally" as we keep finding new entries for this list.

Thanks,
Kyrill


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]