On Sat, Nov 7, 2009 at 2:28 AM, Amos Jeffries <squ...@treenet.co.nz> wrote: > Francesco Chemolli wrote: >> >> ------------------------------------------------------------ >> revno: 10095 >> committer: Francesco Chemolli <kin...@squid-cache.org> >> branch nick: trunk >> timestamp: Fri 2009-11-06 17:12:48 +0100 >> message: >> Fixed linking convention mismatch in Asn ACL >> modified: >> src/acl/Asn.cc >> > > This is what SQUIDCEXTERN is for. > ... working towards not needing it as all code converges on C++ builds.
I can confirm that SQUIDCEXTERN is not working here: the referred-to function are static, and they need C linkage as they are defined in a .cc file, but passed as pointers to the radix tree c library. Solutions I can see are: - leaving the extern "C" definition block as is (possbly remove the #ifdefs, as that file will always be compiled with c++) - un-static-ify the functions and let them pollute the namespace - convert the radix-tree library to c++ so no more C linkage will be needed. Opinions? Thanks -- /kinkie