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/