[Therion] therion 0.5.1 uploaded to Debian
Wookey
wookey at wookware.org
Fri Jan 4 00:14:45 CET 2008
On 2008-01-03 16:42 +0000, Wookey wrote:
I forgot
7) Loch warnings:
Building loch gives a lot of this:
In file included from /usr/include/wx-2.6/wx/gtk/cursor.h:23,
from /usr/include/wx-2.6/wx/cursor.h:24,
from /usr/include/wx-2.6/wx/event.h:32,
from /usr/include/wx-2.6/wx/wx.h:23,
from lxWX.h:6,
from lxAboutDlg.cxx:1:
/usr/include/wx-2.6/wx/image.h: In member function ‘wxImageHistogramBase_wxImplementation_HashTable::Node** wxImageHistogramBase_wxImplementation_HashTable::GetNodePtr(const long unsigned int&) const’:
/usr/include/wx-2.6/wx/image.h:123: warning: dereferencing type-punned pointer will break strict-aliasing rules
Which is something to do with referencing structure members using pointer types which
can not be guaranteed to have the same alignment as the pointer the member was
assigned with.
All these appear to be in wx headers, so maybe they are not really anything to do
with therion, and all I should do is add -fno-strict-aliasing to the build to stop
them appearing.
But I'd like someone who groks C++ properly to tell me that's not just papering over
cracks before doing so. Doing this certainly removes all the noise and shows us that
there is one genuine set of warnings:
lxRender.cxx: In member function ‘void lxRenderFile::RenderPDFHeader()’:
lxRender.cxx:855: warning: format ‘%u’ expects type ‘unsigned int’, but argument 3 has type ‘size_t’
lxRender.cxx: In member function ‘void lxRenderFile::RenderPDFFooter()’:
lxRender.cxx:929: warning: format ‘%u’ expects type ‘unsigned int’, but argument 3 has type ‘size_t’
lxRender.cxx:982: warning: format ‘%010u’ expects type ‘unsigned int’, but argument 4 has type ‘size_t’
lxRender.cxx:982: warning: format ‘%010u’ expects type ‘unsigned int’, but argument 5 has type ‘size_t’
lxRender.cxx:982: warning: format ‘%010u’ expects type ‘unsigned int’, but argument 6 has type ‘size_t’
lxRender.cxx:982: warning: format ‘%010u’ expects type ‘unsigned int’, but argument 7 has type ‘size_t’
lxRender.cxx:982: warning: format ‘%010u’ expects type ‘unsigned int’, but argument 8 has type ‘size_t’
lxRender.cxx:982: warning: format ‘%010u’ expects type ‘unsigned int’, but argument 9 has type ‘size_t’
lxRender.cxx:982: warning: format ‘%010u’ expects type ‘unsigned int’, but argument 10 has type ‘size_t’
lxRender.cxx:983: warning: format ‘%u’ expects type ‘unsigned int’, but argument 3 has type ‘size_t’
Does this just need some casts or should the format be changed?
Wookey
--
Principal hats: Balloonz - Toby Churchill - Aleph One - Debian
http://wookware.org/
More information about the Therion
mailing list