Re: [xml] misc warnings compiling libxml2-2.6.22 (cvs snapshot dloaded 2005/12/09) with HP aC++/ANSI C B3910B A.06.05 [Jul 25 2005]
- From: Daniel Veillard <veillard redhat com>
- To: Rick Jones <rick jones2 hp com>
- Cc: xml gnome org
- Subject: Re: [xml] misc warnings compiling libxml2-2.6.22 (cvs snapshot dloaded 2005/12/09) with HP aC++/ANSI C B3910B A.06.05 [Jul 25 2005]
- Date: Sat, 10 Dec 2005 06:03:03 -0500
On Fri, Dec 09, 2005 at 04:57:06PM -0800, Rick Jones wrote:
Out of curiousity I downloaded the cvs snapshot on 2005-12-09 which
expanded to 2.6.22, and tried compiling it on an HP-UX 11.23 Itanium (ia64)
system with HP aC++/ANSI C B3910B A.06.05 [Jul 25 2005].
A few pseudo-random observations/questions...
This one may have been overly picky on the part of the compiler:
cc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./include -D_REENTRANT -g
-Wp,-H30000 -c parserInternals.c +Z -DPIC -o .libs/parserInternals.lo
"parserInternals.c", line 1883: warning #2068-D: integer conversion
resulted in a change of sign
return (-1);
right, added a cast, as I prefer to not change this API ... this is
unfortunate.
cc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./include -D_REENTRANT -g
-Wp,-H30000 -c HTMLparser.c +Z -DPIC -o .libs/HTMLparser.lo
"HTMLparser.c", line 4782: warning #2550-D: variable "oldname" was set but
never used
const xmlChar *name, *oldname;
Yup, cosmetic, but cleaned up :-)
Some stuff that probably wants a cast and some unreachable code:
cc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./include -D_REENTRANT -g
-Wp,-H30000 -c xpath.c +Z -
DPIC -o .libs/xpath.lo
"xpath.c", line 2915: warning #2513-D: a value of type "void *" cannot be
assigned to an entity of
type "xmlXPathFunction"
XML_CAST_FPTR(ret) = xmlHashLookup2(ctxt->funcHash, name, ns_uri);
^
"xpath.c", line 10483: warning #2513-D: a value of type "void *" cannot be
assigned to an entity of
type "xmlXPathFunction"
XML_CAST_FPTR(func) = op->cache;
I still don't have a good solutions for those. The previous version of
XML_CAST_FPTR() which was attempting a convoluted cast broke register aliasing
on gcc 4 on s390, and all platforms supported so far have no actual problems
storing function pointers in data pointers, gcc also shows up a warning,
I just don't have a nice solution yet at this point.
"xpath.c", line 11095: warning #2128-D: loop is not reachable from
preceding code
do {
^
hum ... strange, there is a goto next_node below which allows to get
back in that do loop. So it is reachable from following code, not a very
nice piece of code, but I would rather be prudent there.
next:
cc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./include -D_REENTRANT -g
-Wp,-H30000 -c xmlschemas.c +Z -DPIC -o .libs/xmlschemas.lo
"xmlschemas.c", line 2500: warning #2550-D: variable "is_not" was set but
never used
int i, is_not;
^
okay
"xmlschemas.c", line 7992: warning #2550-D: variable "ns" was set but never
used
xmlNsPtr ns;
^
okay
"xmlschemas.c", line 13235: warning #2111-D: statement is unreachable
return (0);
^
okay
"xmlschemas.c", line 13279: warning #2111-D: statement is unreachable
return (NULL);
^
okay
"xmlschemas.c", line 17781: warning #2111-D: statement is unreachable
return (0);
^
okay
This one caught my eye:
cc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./include -D_REENTRANT -g
-Wp,-H30000 -c xmlschemastypes.c +Z -DPIC -o .libs/xmlschemastypes.lo
"xmlschemastypes.c", line 1699: warning #2186-D: pointless comparison of
unsigned integer with zero
if ((ret != 0) || (*cur != 0) || !VALID_DATETIME((&(dt->value.date))))
^
"xmlschemastypes.c", line 1699: warning #2186-D: pointless comparison of
unsigned integer with zero
if ((ret != 0) || (*cur != 0) || !VALID_DATETIME((&(dt->value.date))))
^
The macros expands to quite a lot of code. Maybe running on the preprocessor
output would help pinpoint what exactly is at stake there. I don't really
understand the message too ... unless something like u < 0 I don't see the
point being raised.
This one brings-up another point:
cc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./include -D_REENTRANT -g
-Wp,-H30000 -c xmlmodule.c+Z -DPIC -o .libs/xmlmodule.lo
"xmlmodule.c", line 284: warning #2167-D: argument of type "void **" is
incompatible with parameter
of type "shl_t *"
rc = shl_findsym(&handle, name, TYPE_UNDEFINED, symbol);
^
data vs. function pointers conversions.
With PA2.0W (64-bit PA) and with IPF/ia64, (either 32 bit or 64) there is
support for dlopen et al. In fact, the shl_findsym manpage has this to say:
Future HP-UX environments may not support these routines and flags or
may only support a subset of them. Instead, they will use the SVR4
dynamic loading API. Users are encouraged to migrate to the dl*
family of dynamic linking routines. See the dlclose(3C), dlerror(3C),
dlget(3C), dlgetname(3C), dlmodinfo(3C), dlopen(3C), and dlsym(3C) man
pages for more information.
for some reason while I'm typing the above I am getting a feeling of deja
vu. anyway...
Well I think we used that code explicitely because dlopen() wasn't available
on old HP-UX systems...
cc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./include -D_REENTRANT -g
-Wp,-H30000 -c schematron.c +Z -DPIC -o .libs/schematron.lo
"schematron.c", line 1000: warning #2177-D: function
"xmlSchematronLoadInclude" was declared but ne
ver referenced
xmlSchematronLoadInclude(xmlSchematronParserCtxtPtr ctxt, xmlNodePtr cur)
^
yes unfinished code.
next:
source='testapi.c' object='testapi.o' libtool=no \
depfile='.deps/testapi.Po' tmpdepfile='.deps/testapi.TPo' \
depmode=none /bin/sh ./depcomp \
cc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./include
-D_REENTRANT -g -Wp,-H30000 -c `test -f 'testapi.c' || echo
'./'`testapi.c
"testapi.c", line 286: warning #2068-D: integer conversion resulted in a
change of sign
if (no == 2) return('ø');
^
"testapi.c", line 299: warning #2068-D: integer conversion resulted in a
change of sign
return(-1);
^
"testapi.c", line 311: warning #2068-D: integer conversion resulted in a
change of sign
return(-1);
okay, but anything below this is autogenerated, not something I think I
will fix as it requires fixing the generation script.
and some additional picky stuff:
creating testModule
source='runtest.c' object='runtest.o' libtool=no \
depfile='.deps/runtest.Po' tmpdepfile='.deps/runtest.TPo' \
depmode=none /bin/sh ./depcomp \
cc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./include
-D_REENTRANT -g -Wp,-H30000 -c `test -f 'runtest.c' || echo
'./'`runtest.c
"runtest.c", line 3142: warning #2550-D: variable "ret" was set but never
used
int res = 0, len, ret;
^
"runtest.c", line 212: warning #2550-D: variable
"libxmlMemoryAllocatedBase" was set but never used
static long libxmlMemoryAllocatedBase = 0;
^
okay, I assume it was used to look in a debugging session...
"runtest.c", line 3859: warning #2177-D: function "thread_specific_data"
was declared but never referenced
thread_specific_data(void *private_data)
^
not used on HP-UX but used for pthreads systems... let's ignore this
moving on:
creating runtest
source='runsuite.c' object='runsuite.o' libtool=no \
depfile='.deps/runsuite.Po' tmpdepfile='.deps/runsuite.TPo' \
depmode=none /bin/sh ./depcomp \
cc -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./include
-D_REENTRANT -g -Wp,-H30000 -c `test -f 'runsuite.c' || echo
'./'`runsuite.c
"runsuite.c", line 1054: warning #2550-D: variable "res" was set but never
used
int res, ret = 0;
^
okay
"runsuite.c", line 96: warning #2550-D: variable
"libxmlMemoryAllocatedBase" was set but never used
static long libxmlMemoryAllocatedBase = 0;
same thing
then:
creating parse3
source='tree2.c' object='tree2.o' libtool=no \
depfile='.deps/tree2.Po' tmpdepfile='.deps/tree2.TPo' \
depmode=none /bin/sh ../../depcomp \
cc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../include
-I./include -D_REENTRANT -g -Wp,-H30000 -c `test -f 'tree2.c' || echo
'./'`tree2.c
"tree2.c", line 30: warning #2550-D: variable "dtd" was set but never used
xmlDtdPtr dtd = NULL; /* DTD pointer */
^
it's for educational purpose, I will ignore this as this may be useful in
code reuse.
and then finally, an outright build error:
creating parse2
No suffix list.
sh: /usr/bin/xsltproc: not found.
*** Error exit code 127 (ignored)
sh: /usr/bin/xsltproc: not found.
*** Error exit code 127 (ignored)
sh: /usr/bin/xsltproc: not found.
*** Error exit code 127 (ignored)
sh: /usr/bin/xsltproc: not found.
*** Error exit code 127 (ignored)
Making all in example
there is no xsltproc on the system:
configure should have found this ... strange ...
though I must admit my ability to quickly parse shell stuff is pretty weak.
and my ability to read generated configure code, is not much better...
I have fixed all okay'ed, and will commit as soon as I verify all regression
tests still pass as expected.
thanks,
Daniel
--
Daniel Veillard | Red Hat http://redhat.com/
veillard redhat com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]