Re: [PATCH][2.6.8-rc1-mm1] drivers/scsi/sg.c gcc341 inlining fix

From: Jeff Garzik
Date: Wed Jul 14 2004 - 10:58:00 EST


Mikael Pettersson wrote:
gcc-3.4.1 errors out in 2.6.8-rc1-mm1 at drivers/scsi/sg.c:

drivers/scsi/sg.c: In function `sg_ioctl':
drivers/scsi/sg.c:209: sorry, unimplemented: inlining failed in call to 'sg_jif_to_ms': function body not available
drivers/scsi/sg.c:930: sorry, unimplemented: called from here
make[2]: *** [drivers/scsi/sg.o] Error 1
make[1]: *** [drivers/scsi] Error 2
make: *** [drivers] Error 2

sg_jif_to_ms() is marked inline but used defore its function
body is available. Moving it nearer the top of sg.c (together
with sg_ms_to_jif() for consistency) fixes the problem.

Signed-off-by: Mikael Pettersson <mikpe@xxxxxxxxx>


This looks like a compiler bug to me.

sg_jif_to_ms is properly declared at the top of the file...

> static int sg_ms_to_jif(unsigned int msecs);
> static inline unsigned sg_jif_to_ms(int jifs);
> static int sg_allow_access(unsigned char opcode, char dev_type);

If gcc is insisting that prototypes for inlines no longer work, we have a lot of code churn on our hands ;-( Grumble.

Jeff


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/