Re: Fun with Squid2 and Clang

From: Mark Nottingham <mnot_at_yahoo-inc.com>
Date: Wed, 2 Sep 2009 19:17:03 +1000

Hm.

I'm trying 3.HEAD now, but it's giving me some trouble; analysis
starts up fine, but when it gets to doing cf_gen_defines, it switches
over to using g++ and doesn't switch back; see below.

cf_gen didn't cause any problems for squid2; is there something new
and weird in the build process here?

Users/mnot/Downloads/checker-0.218/libexec/ccc-analyzer -
DSQUID_SNMP=1 -I.. -I../include -I../include -Werror -Wall -
Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-
declarations -Wcomments -D_REENTRANT -Wall -g -O2 -MT snmp_pdu.o -MD -
MP -MF .deps/snmp_pdu.Tpo -c -o snmp_pdu.o snmp_pdu.c
ANALYZE: snmp_pdu.c snmp_pdu_create
ANALYZE: snmp_pdu.c snmp_pdu_clone
ANALYZE: snmp_pdu.c snmp_pdu_fix
ANALYZE: snmp_pdu.c snmp_fix_pdu
ANALYZE: snmp_pdu.c snmp_pdu_free
ANALYZE: snmp_pdu.c snmp_free_pdu
ANALYZE: snmp_pdu.c snmp_pdu_encode
ANALYZE: snmp_pdu.c snmp_pdu_decode
ANALYZE: snmp_pdu.c snmp_add_null_var
mv -f .deps/snmp_pdu.Tpo .deps/snmp_pdu.Po
/Users/mnot/Downloads/checker-0.218/libexec/ccc-analyzer -
DSQUID_SNMP=1 -I.. -I../include -I../include -Werror -Wall -
Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-
declarations -Wcomments -D_REENTRANT -Wall -g -O2 -MT snmplib_debug.o -
MD -MP -MF .deps/snmplib_debug.Tpo -c -o snmplib_debug.o snmplib_debug.c
ANALYZE: snmplib_debug.c snmplib_debug
mv -f .deps/snmplib_debug.Tpo .deps/snmplib_debug.Po
rm -f libsnmp.a
/usr/bin/ar cru libsnmp.a asn1.o parse.o snmp_vars.o coexistance.o
snmp_api.o snmp_error.o mib.o snmp_api_error.o snmp_msg.o snmp_pdu.o
snmplib_debug.o
ranlib libsnmp.a
Making all in scripts
make[1]: Nothing to be done for `all'.
Making all in src
gawk -f ./cf_gen_defines <./cf.data.pre >cf_gen_defines.h
sed "\
        s%_at_DEFAULT_HTTP_PORT@%3128%g;\
        s%_at_DEFAULT_ICP_PORT@%3130%g;\
        s%_at_DEFAULT_CACHE_EFFECTIVE_USER@%nobody%g;\
        s%_at_DEFAULT_MIME_TABLE@%/opt/squid3-test/etc/mime.conf%g;\
        s%_at_DEFAULT_DNSSERVER@%/opt/squid3-test/libexec/`echo dnsserver | sed
's,x,x,;s/$//'`%g;\
        s%_at_DEFAULT_UNLINKD@%/opt/squid3-test/libexec/`echo unlinkd | sed
's,x,x,;s/$//'`%g;\
        s%_at_DEFAULT_PINGER@%/opt/squid3-test/libexec/`echo pinger | sed
's,x,x,;s/$//'`%g;\
        s%_at_DEFAULT_DISKD@%/opt/squid3-test/libexec/`echo diskd | sed
's,x,x,;s/$//'`%g;\
        s%_at_DEFAULT_CACHE_LOG@%/opt/squid3-test/var/logs/cache.log%g;\
        s%_at_DEFAULT_ACCESS_LOG@%/opt/squid3-test/var/logs/access.log%g;\
        s%_at_DEFAULT_STORE_LOG@%/opt/squid3-test/var/logs/store.log%g;\
        s%_at_DEFAULT_PID_FILE@%/opt/squid3-test/var/squid.pid%g;\
        s%_at_DEFAULT_NETDB_FILE@%/opt/squid3-test/var/logs/netdb.state%g;\
        s%_at_DEFAULT_SWAP_DIR@%/opt/squid3-test/var/cache%g;\
        s%_at_DEFAULT_ICON_DIR@%/opt/squid3-test/share/icons%g;\
        s%_at_DEFAULT_MIB_PATH@%/opt/squid3-test/share/mib.txt%g;\
        s%_at_DEFAULT_ERROR_DIR@%/opt/squid3-test/share/errors%g;\
        s%_at_DEFAULT_CONFIG_DIR@%/opt/squid3-test/etc%g;\
        s%_at_DEFAULT_PREFIX@%/opt/squid3-test%g;\
        s%_at_DEFAULT_HOSTS@%/etc/hosts%g;\
        s%@[V]ERSION@%3.HEAD-20090902%g;"\
        < ./cf.data.pre >cf.data
depbase=`echo cf_gen.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
        g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/opt/squid3-test/etc/
squid.conf\" -DDEFAULT_SQUID_DATA_DIR=\"/opt/squid3-test/share\" -
DDEFAULT_SQUID_CONFIG_DIR=\"/opt/squid3-test/etc\" -I.. -I../include -
I../src -I../include -I../lib -I../src -I/usr/include/libxml2 -
Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -D_REENTRANT -
g -O2 -MT cf_gen.o -MD -MP -MF $depbase.Tpo -c -o cf_gen.o cf_gen.cc &&\
        mv -f $depbase.Tpo $depbase.Po
/bin/sh ../libtool --tag=CXX --mode=link g++ -I/usr/include/libxml2 -
Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -D_REENTRANT -
g -O2 -g -o cf_gen cf_gen.o -L../lib -lmiscutil ../compat/
libcompat.la -lexpat -lxml2 -lm -lresolv
mkdir .libs
g++ -I/usr/include/libxml2 -Werror -Wall -Wpointer-arith -Wwrite-
strings -Wcomments -D_REENTRANT -g -O2 -g -o cf_gen cf_gen.o -Wl,-
bind_at_load -L/Users/mnot/Downloads/squid-3.HEAD-20090902/lib -
lmiscutil ../compat/.libs/libcompat.a -lexpat -lxml2 -lm -lresolv
./cf_gen cf.data ./cf.data.depend
gawk -f ./mk-string-arrays.awk < ./err_type.h > err_type.cc
gawk -f ./mk-globals-c.awk < ./globals.h > globals.cc
gawk -f ./mk-string-arrays.awk < ./hier_code.h > hier_code.cc
gawk -f ./mk-string-arrays.awk < ./icp_opcode.h > icp_opcode.cc
gawk -f ./mk-string-arrays.awk < ./lookup_t.h > lookup_t.cc
/bin/sh ./repl_modules.sh lru > repl_modules.cc
gawk -f ./mk-string-arrays.awk < ./swap_log_op.h > swap_log_op.cc
make all-recursive
Making all in base
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -
I../.. -I../../include -I../../src -I../../include -I/usr/include/
libxml2 -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -
D_REENTRANT -g -O2 -MT AsyncCall.lo -MD -MP -MF .deps/AsyncCall.Tpo -c
-o AsyncCall.lo AsyncCall.cc
  g++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../src -I../../
include -I/usr/include/libxml2 -Werror -Wall -Wpointer-arith -Wwrite-
strings -Wcomments -D_REENTRANT -g -O2 -MT AsyncCall.lo -MD -MP -
MF .deps/AsyncCall.Tpo -c AsyncCall.cc -o AsyncCall.o
mv -f .deps/AsyncCall.Tpo .deps/AsyncCall.Plo
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -
I../.. -I../../include -I../../src -I../../include -I/usr/include/
libxml2 -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -
D_REENTRANT -g -O2 -MT AsyncJob.lo -MD -MP -MF .deps/AsyncJob.Tpo -c -
o AsyncJob.lo AsyncJob.cc
  g++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../src -I../../
include -I/usr/include/libxml2 -Werror -Wall -Wpointer-arith -Wwrite-
strings -Wcomments -D_REENTRANT -g -O2 -MT AsyncJob.lo -MD -MP -
MF .deps/AsyncJob.Tpo -c AsyncJob.cc -o AsyncJob.o
mv -f .deps/AsyncJob.Tpo .deps/AsyncJob.Plo
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -
I../.. -I../../include -I../../src -I../../include -I/usr/include/
libxml2 -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -
D_REENTRANT -g -O2 -MT AsyncCallQueue.lo -MD -MP -MF .deps/
AsyncCallQueue.Tpo -c -o AsyncCallQueue.lo AsyncCallQueue.cc
  g++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../src -I../../
include -I/usr/include/libxml2 -Werror -Wall -Wpointer-arith -Wwrite-
strings -Wcomments -D_REENTRANT -g -O2 -MT AsyncCallQueue.lo -MD -MP -
MF .deps/AsyncCallQueue.Tpo -c AsyncCallQueue.cc -o AsyncCallQueue.o
mv -f .deps/AsyncCallQueue.Tpo .deps/AsyncCallQueue.Plo
/bin/sh ../../libtool --tag=CXX --mode=link g++ -I/usr/include/
libxml2 -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -
D_REENTRANT -g -O2 -g -o libbase.la AsyncCall.lo AsyncJob.lo
AsyncCallQueue.lo -lm -lresolv
mkdir .libs
ar cru .libs/libbase.a AsyncCall.o AsyncJob.o AsyncCallQueue.o
ranlib .libs/libbase.a
creating libbase.la
(cd .libs && rm -f libbase.la && ln -s ../libbase.la libbase.la)
Making all in acl
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -
I../.. -I../../include -I../../src -I../../include -I/usr/include/
libxml2 -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -
D_REENTRANT -g -O2 -MT Acl.lo -MD -MP -MF .deps/Acl.Tpo -c -o Acl.lo
Acl.cc
  g++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../src -I../../
include -I/usr/include/libxml2 -Werror -Wall -Wpointer-arith -Wwrite-
strings -Wcomments -D_REENTRANT -g -O2 -MT Acl.lo -MD -MP -MF .deps/
Acl.Tpo -c Acl.cc -o Acl.o
mv -f .deps/Acl.Tpo .deps/Acl.Plo
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -
I../.. -I../../include -I../../src -I../../include -I/usr/include/
libxml2 -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -
D_REENTRANT -g -O2 -MT Checklist.lo -MD -MP -MF .deps/Checklist.Tpo -c
-o Checklist.lo Checklist.cc
  g++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../src -I../../
include -I/usr/include/libxml2 -Werror -Wall -Wpointer-arith -Wwrite-
strings -Wcomments -D_REENTRANT -g -O2 -MT Checklist.lo -MD -MP -
MF .deps/Checklist.Tpo -c Checklist.cc -o Checklist.o
mv -f .deps/Checklist.Tpo .deps/Checklist.Plo
/bin/sh ../../libtool --tag=CXX --mode=link g++ -I/usr/include/
libxml2 -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -
D_REENTRANT -g -O2 -g -o libapi.la Acl.lo Checklist.lo -lm -lresolv
mkdir .libs
ar cru .libs/libapi.a Acl.o Checklist.o
ranlib .libs/libapi.a
creating libapi.la

On 02/09/2009, at 1:38 PM, Kinkie wrote:

> On Wed, Sep 2, 2009 at 4:23 AM, Mark Nottingham<mnot_at_yahoo-inc.com>
> wrote:
>> Seeing the fun new tools in Snow Leopard's XCode, I dug a bit and ran
>> Clang's static analyser <http://clang-analyzer.llvm.org/> on squid2-
>> HEAD;
>> see
>>
>> http://www.mnot.net/test/squid-scan/
>>
>> for results.
>>
>> If this is interesting/useful, I can do a quick run on squid3 as
>> well; it's
>> pretty easy.
>
> Please, do it if it's not too much work. 3.0, 3.1 and HEAD would be
> interesting.
>
> --
> /kinkie

--
Mark Nottingham       mnot_at_yahoo-inc.com
Received on Wed Sep 02 2009 - 09:18:33 MDT

This archive was generated by hypermail 2.2.0 : Wed Sep 02 2009 - 12:00:03 MDT