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)
{