Re: [Compile Regression in 2.4.25-pre8][PATCH 11/42]

Richard B. Johnson
2004-02-04T12:27:47Z

On Tue, 3 Feb 2004, Kronos wrote:

> Il Mon, Feb 02, 2004 at 04:25:55PM -0500, Richard B. Johnson ha scritto:
> > On Mon, 2 Feb 2004, Kronos wrote:
> >
> > >
> > > include/asm/smpboot.h:126: warning: deprecated use of label at end of compound statement
> > >
> > > Move the return statement under 'default' label to suppress the warning.
> > >
> > > diff -Nru -X dontdiff linux-2.4-vanilla/include/asm-i386/smpboot.h linux-2.4/include/asm-i386/smpboot.h
> > > --- linux-2.4-vanilla/include/asm-i386/smpboot.h Tue Nov 11 17:51:14 2003
> > > +++ linux-2.4/include/asm-i386/smpboot.h Sat Jan 31 17:10:50 2004
> > > @@ -123,8 +123,8 @@
> > > cpu = (cpu+1)%smp_num_cpus;
> > > return cpu_to_physical_apicid(cpu);
> > > default:
> > > + return cpu_online_map;
> > > }
> > > - return cpu_online_map;
> > > }
> > > #else
> > > #define target_cpus() (cpu_online_map)
> > >
> >
> > Not correct. This removes the main-line return of a value.
>
> Since the original code is this:
>
> switch(clustered_apic_mode){
> case CLUSTERED_APIC_NUMAQ:
> /* Broadcast intrs to local quad only. */
> return APIC_BROADCAST_ID_APIC;
> case CLUSTERED_APIC_XAPIC:
> /*round robin the interrupts*/
> cpu = (cpu+1)%smp_num_cpus;
> return cpu_to_physical_apicid(cpu);
> default:
> }
> return cpu_online_map;
>
> my patch doesn't change anything. It may be a bit unclean though. What
> about this one:
>
> diff -Nru -X dontdiff linux-2.4-vanilla/include/asm-i386/smpboot.h linux-2.4/include/asm-i386/smpboot.h
> --- linux-2.4-vanilla/include/asm-i386/smpboot.h Sun Aug 31 23:04:50 2003
> +++ linux-2.4/include/asm-i386/smpboot.h Tue Feb 3 22:03:06 2004
> @@ -123,6 +123,7 @@
> cpu = (cpu+1)%smp_num_cpus;
> return cpu_to_physical_apicid(cpu);
> default:
> + break;
> }
> return cpu_online_map;
> }
>
>
>
> Luca

Yep. Either a single ';' or the 'break ;' works fine. This is
because 'default:' is a label. I think the rule is dumb, but it's
a rule, just like keeping right in a corridor!

Cheers,
Dick Johnson

Penguin : Linux version 2.4.24 on an i686 machine (797.90 BogoMips).
Note 96.31% of all statistics are fiction.