Hi, Thanks for all your opinions. I would like to submit it for second consideration. Unfortunately I can't set the mycrc to zero, because the workaround does not work then :)
-- Vlad
diff -r 80bd3c060b8d hcache.c --- a/hcache.c Mon Jun 25 03:42:41 2007 +0200 +++ b/hcache.c Mon Jun 25 22:56:58 2007 +0200 @@ -453,7 +453,17 @@ crc_matches(const char *d, unsigned int crc_matches(const char *d, unsigned int crc) { int off = sizeof (validate); + +#if (__SUNPRO_C == 0x570 || __SUNPRO_C == 0x580) && defined(__i386) + /* + * This is workaround for bug in Sun compiler. Bug is present in SunStudio 10 + * and 11; bug happens only on i386 platform. SunStudio 12 is not affected. + * -- [EMAIL PROTECTED] + */ + static unsigned int mycrc; +#else unsigned int mycrc = 0; +#endif if (!d) return 0;