[current tinderbox] failure on ia64/ia64
Marcel Moolenaar
marcel at xcllnt.net
Thu Mar 18 00:41:34 PST 2004
On Wed, Mar 17, 2004 at 11:30:14PM +0200, Ruslan Ermilov wrote:
> On Wed, Mar 17, 2004 at 12:51:04PM -0800, Marcel Moolenaar wrote:
> > On Wed, Mar 17, 2004 at 10:03:07PM +0200, Ruslan Ermilov wrote:
> > > > >
> > > > > for(i = 0; i < SOUND_MIXER_NRDEVICES; i++) {
> > > > > if ((1 << i) & mask) {
> > > > > v |= mt[i].iselect;
> > > > > }
> > > > > }
> > > > >
> > > >
> > > Actually, this is easily reproduceable by compiling the corresponding
> > > module on pluto1 with CFLAGS="-O2 -pipe" set in environment. There's
> > > clearly a bug in gcc(1), as:
> >
> > What happens if you replace the for-loop with an equivalent while-loop?
> >
> Doesn't make any difference. sparc64 and amd64 do not exhibit this problem.
> (Yes, I tested this on amd64 as well, skipping the final ld(1) step of the
> module's build.)
The source code appears to be fishy. The variable v is never used.
It's only defined. If you change the "return mask" to a "return v",
the warning goes away.
--
Marcel Moolenaar USPA: A-39004 marcel at xcllnt.net
More information about the freebsd-ia64
mailing list