The Intel compiler 9.0 gives these warnings on GNU/Linux: | ../../gllib/unistr/u16-chr.c(39): warning #266: function declared implicitly | switch (u16_uctomb_aux (c, uc, 2)) | | ../../gllib/unistr/u8-chr.c(39): warning #266: function declared implicitly | switch (u8_uctomb_aux (c, uc, 6))
Similar for u{8,16}-strchr.c. The difference to GCC here is that the __NO_INLINE__ test (whether the compiler generally respects inline) gives false. The patch below gets rid of the warning. OK to apply? Cheers, Ralf 2007-10-28 Ralf Wildenhues <[EMAIL PROTECTED]> * lib/unistr.h [GNULIB_UNISTR_U8_UCTOMB] (u8_uctomb_aux): Declare also if !HAVE_INLINE. [GNULIB_UNISTR_U16_UCTOMB] (u16_uctomb_aux): Likewise. diff --git a/lib/unistr.h b/lib/unistr.h index a645292..944c75b 100644 --- a/lib/unistr.h +++ b/lib/unistr.h @@ -297,12 +297,12 @@ extern int must be specified. */ #ifdef GNULIB_UNISTR_U8_UCTOMB +extern int + u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n); # if !HAVE_INLINE extern int u8_uctomb (uint8_t *s, ucs4_t uc, int n); # else -extern int - u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n); static inline int u8_uctomb (uint8_t *s, ucs4_t uc, int n) { @@ -318,12 +318,12 @@ u8_uctomb (uint8_t *s, ucs4_t uc, int n) #endif #ifdef GNULIB_UNISTR_U16_UCTOMB +extern int + u16_uctomb_aux (uint16_t *s, ucs4_t uc, int n); # if !HAVE_INLINE extern int u16_uctomb (uint16_t *s, ucs4_t uc, int n); # else -extern int - u16_uctomb_aux (uint16_t *s, ucs4_t uc, int n); static inline int u16_uctomb (uint16_t *s, ucs4_t uc, int n) {