$ gcc -x c -c -o test.o /usr/include/asm/bitops.h $ gcc -x c++ -c -o test.o /usr/include/asm/bitops.h /usr/include/asm-generic/bitops/fls64.h: In function 'int fls64(__u64)': /usr/include/asm-generic/bitops/fls64.h:10: error: 'fls' was not declared in this scope /usr/include/asm-generic/bitops/fls64.h:11: error: 'fls' was not declared in this scope
Firstly, why is this package using a C++ compiler for what on the face of it looks like C code? Secondly, <asm-i486/bitops.h> defines fls() only if __KERNEL__ is defined but always includes <asm-generic/bitops/fls64.h>, which defines fls64() in terms of fls(). A C compiler will accept this use of fls() as an implicit declaration - though the function is never defined - but a C++ compiler will not. This seems like a bug in linux-kernel-headers. Ben. -- Ben Hutchings -- [EMAIL PROTECTED] shortened to [EMAIL PROTECTED] If you've signed my GPG key, please send a signature on and to the new uid. Tomorrow will be cancelled due to lack of interest.
signature.asc
Description: This is a digitally signed message part