This is the mail archive of the libc-alpha@cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Warnings in <bits/string.h>


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]