I&#39;m also on it after the RTF patch pushed sunday (<a href="http://cgit.freedesktop.org/libreoffice/core/commit/?id=f32fe9f5012e3ee184e1a1fca6814bee9105d8fb">http://cgit.freedesktop.org/libreoffice/core/commit/?id=f32fe9f5012e3ee184e1a1fca6814bee9105d8fb</a>), the patch for WW8ResourceModel.hxx will be avaible this evening.<br>

<br>Thanks<br><br><br><div class="gmail_quote">Le 13 mars 2012 15:11, Stephan Bergmann <span dir="ltr">&lt;<a href="mailto:sbergman@redhat.com">sbergman@redhat.com</a>&gt;</span> a écrit :<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5">On 03/13/2012 03:00 PM, Lubos Lunak wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Tuesday 13 of March 2012, Stephan Bergmann wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 03/13/2012 11:43 AM, Tor Lillqvist wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hmm, now that the reason for using  -Wno-non-virtual-dtor has been<br>
documented (<u></u>760e0d2d7329ca6fc00a8439715bae<u></u>38becb168a ), I wonder,<br>
should we globally then also turn off the corresponding MSVC warning?<br>
<br>
That would be kinda predictable (from a &quot;the usual waste of time&quot;<br>
point of view), as I and others have committed over times dozens of<br>
WaE fixes for this very issue... (I.e. added a virtual no-op<br>
destructor in most cases).<br>
<br>
Or does gcc and MSVC warn for different cases of lack of virtual<br>
destructor? Is it certain that in all cases this warning is bogus, in<br>
both the gcc and MSVC cases?<br>
</blockquote>
<br>
I think the warning is generally non-bogus.  The problem is that we were<br>
not able to change the cppumaker-generated C++ headers without breaking<br>
backwards compatiblity[1], and GCC was somewhat over-ambitious with this<br>
warning[2], so had to disable it -- even if we would have preferred to<br>
keep it on.<br>
</blockquote>
<br>
  The original message about the problem,<br>
<a href="http://markmail.org/message/664jsoqe6n6smy3b" target="_blank">http://markmail.org/message/<u></u>664jsoqe6n6smy3b</a> , mentions that it is not<br>
possible to selectively disable the warning for just the classes where we<br>
need to keep the binary compatibility.<br>
<br>
  Assuming that my attached testcase correctly matches the problem, I do not<br>
see a warning with either gcc-4.6.3 or clang-3.1r152540. So it looks like we<br>
can either just enable the warning and selectively disable it, or we can have<br>
a configure check if some older gcc version has the problem (well, given that<br>
#pragma diagnostic is recent with gcc, it&#39;ll need an #ifdef anyway).<br>
<br>
$ g++ -Wall dtor.cpp -Wnon-virtual-dtor -c<br>
</blockquote>
<br></div></div>
I&#39;m going to add protected, non-virtual dtors to the problematic classes.  That&#39;s backward compatible (not 100%, in that it prevents deletes of objects through pointers to those non-virtual-dtor classes, but those are actually bugs, anyway) and clean, and no longer causes -Wnon-virtual-dtor warnings with recent GCCs.<br>


<br>
With that in place, we can re-enable -Wnon-virtual-dtor in solenv/gbuild/platform/<a href="http://unxgcc.mk" target="_blank">unxgcc.<u></u>mk</a>.  (I planned on bluntly always enabling it there, which might cause problems for --enable-werror on platforms with old GCC versions.  Basing enabling on a GCC version check or some configure check might indeed be better.)<div class="HOEnZb">

<div class="h5"><br>
<br>
Stephan<br>
______________________________<u></u>_________________<br>
LibreOffice mailing list<br>
<a href="mailto:LibreOffice@lists.freedesktop.org" target="_blank">LibreOffice@lists.freedesktop.<u></u>org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/libreoffice" target="_blank">http://lists.freedesktop.org/<u></u>mailman/listinfo/libreoffice</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Arnaud Versini<br>