Re: can/should we use gcc 3.1 to compile kernels
From: Franz Sirl <hidden>
Date: 2002-06-07 20:58:38
At 22:45 07.06.2002, Tom Rini wrote:
On Fri, Jun 07, 2002 at 10:36:46PM +0200, Franz Sirl wrote:quoted
At 22:19 07.06.2002, Tom Rini wrote:quoted
On Fri, Jun 07, 2002 at 03:44:56PM -0400, Kevin B. Hendricks wrote:quoted
Not too bad warnings-wize excpet for the controlfb.c where it constanly gave a funny warning about "pasting ->".Sounds right. I think there was a few other things too..The warning is correct, pasting "token1" (CNTRL_REG) with "token2" (->) makes no sense, usually it's just a ## to much somewhere.quoted
quoted
It did this for every occurence of the macro CNTRL_REG which I mustadmitquoted
quoted
quoted
has two ## which I think gcc was misinterpreting somehow.Well, isn't: #define x(foo) a_## foo ##_b A semi-common thing, like we do in indirect_pci.c ? Or was it something different?Think about preprocessing tokens! If foo is "->" the ## make no sense at all, cause "a_", "->" and "_b" are 3 separate preprocessing tokens, noneedquoted
to paste them together.Ah. Got a patch? :)
Nope, not even worth a patch :-)), see the message to Kevin.
quoted
quoted
quoted
Other than that just the occaissioanal wanring about unusedvariables andquoted
quoted
quoted
things like that.Lots of the USB stuff uses __FUNCTION__ which gcc-3.1 isn't happy about.It's not __FUNCTION__ per se that gcc is unhappy about, but string concatenation with it. So instead of printk ( __FUNCTION__ "text %d", value) use printk (" %s, text %d", __FUNCTION__, value). No big deal. I think current 3.2 already refuses to compile that.I thought it was 3.1 that gave a big warning about __FUNCTION__ being depreciated entirely and 3.2 which just removed __FUNCTION__ at all. Or have things been changed abit?
No, but the warning was always about "string concatenation":
[fsirl@entropy:~]$ cat FUNCTION.c
#include <stdio.h>
int main (void)
{
printf (__FUNCTION__ " text %d", 5);
printf ("%s text %d", __FUNCTION__, 5);
return 0;
}
[fsirl@entropy:~]$ gcc -O2 FUNCTION.c
FUNCTION.c: In function `main':
FUNCTION.c:5: warning: concatenation of string literals with __FUNCTION__
is deprecated
So, only one warning is issued.
Franz.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/