This is the mail archive of the
libc-hacker@sourceware.cygnus.com
mailing list for the glibc project.
Re: Warnings in <bits/string.h>
- To: Joseph Myers <jsm28@cam.ac.uk>
- Subject: Re: Warnings in <bits/string.h>
- From: Andreas Jaeger <aj@arthur.rhein-neckar.de>
- Date: 30 Nov 1998 17:32:43 +0100
- Cc: libc-alpha@cygnus.com
- Mail-Copies-To: never
- References: <E0zkUVT-0000R7-00@jsm28.trin.cam.ac.uk>
>>>>> Joseph Myers writes:
>> Description:
> <bits/string.h> still has many `no previous prototype' warnings for
> its inline functions.
> Add prototypes for the above functions before their inline
> definitions, as was previously done with <bits/string2.h>.
Here's a patch which also includes a small bugfix. Ulrich, please add
it to glibc 2.1.
Andreas
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/i386/bits/string.h (__memset_cc): Fix typo (s->__s).
* sysdeps/i386/i486/bits/string.h: Add prototypes for all new
inline functions.
* sysdeps/i386/bits/string.h: Likewise.
--- sysdeps/i386/i486/bits/string.h.~1~ Mon Sep 21 23:39:31 1998
+++ sysdeps/i386/i486/bits/string.h Mon Nov 30 17:28:01 1998
@@ -59,6 +59,9 @@
? __memcpy_by2 (dest, src, n) \
: __memcpy_g (dest, src, n))))
+__STRING_INLINE void *__memcpy_by4 (void *__dest, __const void *__src,
+ size_t __n);
+
__STRING_INLINE void *
__memcpy_by4 (void *__dest, __const void *__src, size_t __n)
{
@@ -78,6 +81,9 @@
return __dest;
}
+__STRING_INLINE void *__memcpy_by2 (void *__dest, __const void *__src,
+ size_t __n);
+
__STRING_INLINE void *
__memcpy_by2 (void *__dest, __const void *__src, size_t __n)
{
@@ -102,7 +108,10 @@
return __dest;
}
-__STRING_INLINE void *
+__STRING_INLINE void *__memcpy_g (void *__dest, __const void *__src,
+ size_t __n);
+
+ __STRING_INLINE void *
__memcpy_g (void *__dest, __const void *__src, size_t __n)
{
register unsigned long int __d0, __d1, __d2;
@@ -203,6 +212,8 @@
? __memset_gc_by2 (s, c, n) \
: __memset_gg (s, c, n))))
+__STRING_INLINE void *__memset_cc_by4 (void *__s, int __c, size_t __n);
+
__STRING_INLINE void *
__memset_cc_by4 (void *__s, int __c, size_t __n)
{
@@ -220,6 +231,8 @@
return __s;
}
+__STRING_INLINE void *__memset_cc_by2 (void *__s, int __c, size_t __n);
+
__STRING_INLINE void *
__memset_cc_by2 (void *__s, int __c, size_t __n)
{
@@ -241,6 +254,8 @@
return __s;
}
+__STRING_INLINE void *__memset_gc_by4 (void *__s, int __c, size_t __n);
+
__STRING_INLINE void *
__memset_gc_by4 (void *__s, int __c, size_t __n)
{
@@ -262,6 +277,8 @@
return __s;
}
+__STRING_INLINE void *__memset_gc_by2 (void *__s, int __c, size_t __n);
+
__STRING_INLINE void *
__memset_gc_by2 (void *__s, int __c, size_t __n)
{
@@ -287,6 +304,8 @@
return __s;
}
+__STRING_INLINE void *__memset_cg (void *__s, int __c, size_t __n);
+
__STRING_INLINE void *
__memset_cg (void *__s, int __c, size_t __n)
{
@@ -304,6 +323,8 @@
return __s;
}
+__STRING_INLINE void *__memset_gg (void *__s, int __c, size_t __n);
+
__STRING_INLINE void *
__memset_gg (void *__s, int __c, size_t __n)
{
@@ -362,6 +383,8 @@
(__extension__ (__builtin_constant_p (str) \
? __builtin_strlen (str) \
: __strlen_g (str)))
+__STRING_INLINE size_t __strlen_g (__const char *__str);
+
__STRING_INLINE size_t
__strlen_g (__const char *__str)
{
@@ -438,6 +461,8 @@
} \
(char *) __dest; }))
+__STRING_INLINE char *__strcpy_g (char *__dest, __const char *__src);
+
__STRING_INLINE char *
__strcpy_g (char *__dest, __const char *__src)
{
@@ -530,6 +555,9 @@
} \
(char *) __dest; }))
+__STRING_INLINE char *__mempcpy_by4 (char *__dest, __const char *__src,
+ size_t __srclen);
+
__STRING_INLINE char *
__mempcpy_by4 (char *__dest, __const char *__src, size_t __srclen)
{
@@ -549,6 +577,9 @@
return __tmp;
}
+__STRING_INLINE char *__mempcpy_by2 (char *__dest, __const char *__src,
+ size_t __srclen);
+
__STRING_INLINE char *
__mempcpy_by2 (char *__dest, __const char *__src, size_t __srclen)
{
@@ -573,6 +604,9 @@
return __tmp + 2;
}
+__STRING_INLINE char *__mempcpy_byn (char *__dest, __const char *__src,
+ size_t __srclen);
+
__STRING_INLINE char *
__mempcpy_byn (char *__dest, __const char *__src, size_t __srclen)
{
@@ -595,6 +629,8 @@
return __tmp;
}
+__STRING_INLINE char *__stpcpy_g (char *__dest, __const char *__src);
+
__STRING_INLINE char *
__stpcpy_g (char *__dest, __const char *__src)
{
@@ -633,6 +669,9 @@
? __strncpy_by2 (dest, src, srclen, n) \
: __strncpy_byn (dest, src, srclen, n)))
+__STRING_INLINE char *__strncpy_by4 (char *__dest, __const char __src[],
+ size_t __srclen, size_t __n);
+
__STRING_INLINE char *
__strncpy_by4 (char *__dest, __const char __src[], size_t __srclen, size_t __n)
{
@@ -653,6 +692,9 @@
return __dest;
}
+__STRING_INLINE char *__strncpy_by2 (char *__dest, __const char __src[],
+ size_t __srclen, size_t __n);
+
__STRING_INLINE char *
__strncpy_by2 (char *__dest, __const char __src[], size_t __srclen, size_t __n)
{
@@ -678,6 +720,9 @@
return __dest;
}
+__STRING_INLINE char *__strncpy_byn (char *__dest, __const char __src[],
+ size_t __srclen, size_t __n);
+
__STRING_INLINE char *
__strncpy_byn (char *__dest, __const char __src[], size_t __srclen, size_t __n)
{
@@ -701,6 +746,9 @@
return __dest;
}
+__STRING_INLINE char *__strncpy_gg (char *__dest, __const char *__src,
+ size_t __n);
+
__STRING_INLINE char *
__strncpy_gg (char *__dest, __const char *__src, size_t __n)
{
@@ -738,6 +786,9 @@
? __strcat_c (dest, src, strlen (src) + 1) \
: __strcat_g (dest, src)))
+__STRING_INLINE char *__strcat_c (char *__dest, __const char __src[],
+ size_t __srclen);
+
__STRING_INLINE char *
__strcat_c (char *__dest, __const char __src[], size_t __srclen)
{
@@ -765,6 +816,8 @@
return __dest;
}
+__STRING_INLINE char *__strcat_g (char *__dest, __const char *__src);
+
__STRING_INLINE char *
__strcat_g (char *__dest, __const char *__src)
{
@@ -800,6 +853,9 @@
(__const char *) src, n), __dest)) \
: __strncat_g (__dest, src, n); }))
+__STRING_INLINE char *__strncat_g (char *__dest, __const char __src[],
+ size_t __n);
+
__STRING_INLINE char *
__strncat_g (char *__dest, __const char __src[], size_t __n)
{
@@ -918,6 +974,8 @@
} \
__result; }))
+__STRING_INLINE int __strcmp_gg (__const char *__s1, __const char *__s2);
+
__STRING_INLINE int
__strcmp_gg (__const char *__s1, __const char *__s2)
{
@@ -954,6 +1012,9 @@
? strcmp (s1, s2) \
: __strncmp_g (s1, s2, n))))
+__STRING_INLINE int __strncmp_g (__const char *__s1, __const char *__s2,
+ size_t __n);
+
__STRING_INLINE int
__strncmp_g (__const char *__s1, __const char *__s2, size_t __n)
{
@@ -991,6 +1052,8 @@
? __strchr_c (s, ((c) & 0xff) << 8) \
: __strchr_g (s, c)))
+__STRING_INLINE char *__strchr_c (__const char *__s, int __c);
+
__STRING_INLINE char *
__strchr_c (__const char *__s, int __c)
{
@@ -1012,6 +1075,8 @@
return __res;
}
+__STRING_INLINE char *__strchr_g (__const char *__s, int __c);
+
__STRING_INLINE char *
__strchr_g (__const char *__s, int __c)
{
@@ -1053,6 +1118,8 @@
: __strrchr_g (s, c)))
#ifdef __i686__
+__STRING_INLINE char *__strrchr_c (__const char *__s, int __c);
+
__STRING_INLINE char *
__strrchr_c (__const char *__s, int __c)
{
@@ -1072,6 +1139,8 @@
return __res - 1;
}
+__STRING_INLINE char *__strrchr_g (__const char *__s, int __c);
+
__STRING_INLINE char *
__strrchr_g (__const char *__s, int __c)
{
@@ -1092,6 +1161,8 @@
return __res - 1;
}
#else
+__STRING_INLINE char *__strrchr_c (__const char *__s, int __c);
+
__STRING_INLINE char *
__strrchr_c (__const char *__s, int __c)
{
@@ -1113,6 +1184,8 @@
return __res;
}
+__STRING_INLINE char *__strrchr_g (__const char *__s, int __c);
+
__STRING_INLINE char *
__strrchr_g (__const char *__s, int __c)
{
@@ -1159,6 +1232,8 @@
: __strcspn_cg (s, reject, strlen (reject)))) \
: __strcspn_g (s, reject)))
+__STRING_INLINE size_t __strcspn_c1 (__const char *__s, int __reject);
+
__STRING_INLINE size_t
__strcspn_c1 (__const char *__s, int __reject)
{
@@ -1179,6 +1254,9 @@
return (__res - 1) - __s;
}
+__STRING_INLINE size_t __strcspn_cg (__const char *__s, __const char __reject[],
+ size_t __reject_len);
+
__STRING_INLINE size_t
__strcspn_cg (__const char *__s, __const char __reject[], size_t __reject_len)
{
@@ -1201,7 +1279,9 @@
return (__res - 1) - __s;
}
+__STRING_INLINE size_t __strcspn_g (__const char *__s, __const char *__reject);
#ifdef __PIC__
+
__STRING_INLINE size_t
__strcspn_g (__const char *__s, __const char *__reject)
{
@@ -1269,6 +1349,8 @@
: __strspn_cg (s, accept, strlen (accept)))) \
: __strspn_g (s, accept)))
+__STRING_INLINE size_t __strspn_c1 (__const char *__s, int __accept);
+
__STRING_INLINE size_t
__strspn_c1 (__const char *__s, int __accept)
{
@@ -1287,6 +1369,9 @@
return (__res - 1) - __s;
}
+__STRING_INLINE size_t __strspn_cg (__const char *__s, __const char __accept[],
+ size_t __accept_len);
+
__STRING_INLINE size_t
__strspn_cg (__const char *__s, __const char __accept[], size_t __accept_len)
{
@@ -1309,7 +1394,9 @@
return (__res - 1) - __s;
}
+__STRING_INLINE size_t __strspn_g (__const char *__s, __const char *__accept);
#ifdef __PIC__
+
__STRING_INLINE size_t
__strspn_g (__const char *__s, __const char *__accept)
{
@@ -1375,6 +1462,9 @@
: __strpbrk_cg (s, accept, strlen (accept)))) \
: __strpbrk_g (s, accept)))
+__STRING_INLINE char *__strpbrk_cg (__const char *__s, __const char __accept[],
+ size_t __accept_len);
+
__STRING_INLINE char *
__strpbrk_cg (__const char *__s, __const char __accept[], size_t __accept_len)
{
@@ -1401,7 +1491,9 @@
return __res;
}
+__STRING_INLINE char *__strpbrk_g (__const char *__s, __const char *__accept);
#ifdef __PIC__
+
__STRING_INLINE char *
__strpbrk_g (__const char *__s, __const char *__accept)
{
@@ -1479,6 +1571,9 @@
/* Please note that this function need not handle NEEDLEs with a
length shorter than two. */
+__STRING_INLINE char *__strstr_cg (__const char *__haystack, __const char __needle[],
+ size_t __needle_len);
+
__STRING_INLINE char *
__strstr_cg (__const char *__haystack, __const char __needle[],
size_t __needle_len)
@@ -1504,7 +1599,9 @@
return __res;
}
+__STRING_INLINE char *__strstr_g (__const char *__haystack, __const char *__needle);
#ifdef __PIC__
+
__STRING_INLINE char *
__strstr_g (__const char *__haystack, __const char *__needle)
{
--- sysdeps/i386/bits/string.h.~1~ Fri Apr 3 07:22:11 1998
+++ sysdeps/i386/bits/string.h Mon Nov 30 17:30:49 1998
@@ -45,6 +45,9 @@
: memcpy (dest, src, n)))
/* This looks horribly ugly, but the compiler can optimize it totally,
as the count is constant. */
+__STRING_INLINE void *__memcpy_c (void *__dest, __const void *__src,
+ size_t __n);
+
__STRING_INLINE void *
__memcpy_c (void *__dest, __const void *__src, size_t __n)
{
@@ -170,6 +173,9 @@
: __memset_cg (s, 0x01010101UL * (unsigned char) (c), n))\
: __memset_gg (s, c, n)))
+__STRING_INLINE void *__memset_cc (void *__s, unsigned long int __pattern,
+ size_t __n);
+
__STRING_INLINE void *
__memset_cc (void *__s, unsigned long int __pattern, size_t __n)
{
@@ -211,7 +217,7 @@
return __s;
case 2:
__COMMON_CODE ("\n\tstosw");
- return s;
+ return __s;
case 3:
__COMMON_CODE ("\n\tstosw\n\tstosb");
return __s;
@@ -219,6 +225,8 @@
#undef __COMMON_CODE
}
+__STRING_INLINE void *__memset_cg (void *__s, unsigned long __c, size_t __n);
+
__STRING_INLINE void *
__memset_cg (void *__s, unsigned long __c, size_t __n)
{
@@ -240,6 +248,8 @@
return __s;
}
+__STRING_INLINE void *__memset_gg (void *__s, char __c, size_t __n);
+
__STRING_INLINE void *
__memset_gg (void *__s, char __c, size_t __n)
{
@@ -455,6 +465,8 @@
? __strchr_c (s, ((c) & 0xff) << 8) \
: __strchr_g (s, c)))
+__STRING_INLINE char *__strchr_g (__const char *__s, int __c);
+
__STRING_INLINE char *
__strchr_g (__const char *__s, int __c)
{
@@ -478,6 +490,8 @@
return __res - 1;
}
+__STRING_INLINE char *__strchr_c (__const char *__s, int __c);
+
__STRING_INLINE char *
__strchr_c (__const char *__s, int __c)
{
--
Andreas Jaeger aj@arthur.rhein-neckar.de jaeger@informatik.uni-kl.de
for pgp-key finger ajaeger@aixd1.rhrk.uni-kl.de