Compile warnings due to missing __inline__ in fs/xfs/xfs_log.h
As the __inline__ directive in front of the _lsn_cmp function is not used with the gcc version 2.95.x, compile-warnings result from many files including this header-file.
Is there any reason why this function is not inlined with these compiler versions? As I used following patch and compiled the kernel with my gcc2.95.3(SuSE) and an other gcc2.95.4(Debian) these compiler warnings disappeared and no additional warning or error occured...
Is there an difference between '__inline__' and 'inline'?
Is 'inline' not part of the ANSI-C standard and so should be preferred?
Thanks
Thomas Schlichter
fs/xfs/xfs_log.h +1 -6
@@ -52,12 +52,7 @@* By comparing each compnent, we don't have to worry about extra * endian issues in treating two 32 bit numbers as one 64 bit number */ -static -#ifdef __GNUC__ -# if !((__GNUC__ ==2 ) && (__GNUC_MINOR__ ==95 )) -__inline__ -#endif -#endif +static inline xfs_lsn_t _lsn_cmp (xfs_lsn_t lsn1,xfs_lsn_t lsn2,xfs_arch_t arch) {if (CYCLE_LSN (lsn1, arch) !=CYCLE_LSN (lsn2, arch))
Quoted 8 lines · Thomas Schlichter
As the
__inline__directive in front of the_lsn_cmpfunction is not used with the gcc version 2.95.x, compile-warnings result from many files including this header-file.Is there any reason why this function is not inlined with these compiler versions? As I used following patch and compiled the kernel with my gcc2.95.3(SuSE) and an other gcc2.95.4(Debian) these compiler warnings disappeared and no additional warning or error occured...
The reason inline is turned off for this compiler version is that it generates bad code when inlining this code. So you can have a quiet compile, or bad code.
Steve
OK, thanks for that info, now I understand...
So I think I better take the warnings ;-)
Thomas
Am Dienstag, 17. Dezember 2002 18:55 schrieb Stephen Lord:
Quoted 10 lines · Thomas Schlichter
Quoted 3 lines
As the
__inline__directive in front of the_lsn_cmpfunction is not used with the gcc version 2.95.x, compile-warnings result from many files including this header-file.The reason inline is turned off for this compiler version is that it generates bad code when inlining this code. So you can have a quiet compile, or bad code.
Steve