[aseek-devel] aspseek and gcc3, complete with workaround

From: Daniel Stone (no email)
Date: Wed Jun 18 2003 - 01:59:59 EDT


Hi all,
Dunno if my earlier mail got through, so here goes again - with more
info, this time.

With gcc3.3, CVS doesn't build. I forced gcc3.2, and ran into problems -
searchd spun in search.cpp:AndResults, when you had a search query which
was more than one word.

It worked when built with -g3, but with anything less, it kept spinning.
The workaround I eventually found was to comment out this block of code:
                /* for (i = 1; i < size; purl++, i++)
                {
                        if (furl != **purl)
                        {
                                if (**purl > maxurl) maxurl = **purl;
                                same = 0; // URLs are not the same
                        }
                } */
(search.cpp, 1887->1894).

The results produced still *seem* correct, even thought they may not be.
Can someone please enlighten me as to what this particular block of code
does, and why it may cause spinning? I have a suspicion it may be gcc
miscompiling (the entire function scares me, honestly), but yeah.

Cheers!
:) d

-- 
Daniel Stone                                     <u.au>
Developer, Trinity College, University of Melbourne









Hosted Email Solutions

Invaluement Anti-Spam DNSBLs



Powered By FreeBSD   Powered By FreeBSD