]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Add some pure attributes.
authorAndreas Jaeger <aj@suse.de>
Wed, 23 Aug 2000 07:23:46 +0000 (07:23 +0000)
committerAndreas Jaeger <aj@suse.de>
Wed, 23 Aug 2000 07:23:46 +0000 (07:23 +0000)
dirent/dirent.h
include/dirent.h
include/wchar.h
stdlib/stdlib.h
wcsmbs/wchar.h

index 0888e46dc761c2ad561806d70e71e1471b57c081..dcbeab6946a23b51128002f0df77d4d92efc4bc3 100644 (file)
@@ -252,11 +252,13 @@ extern int scandir64 (__const char *__restrict __dir,
 
 /* Function to compare two `struct dirent's alphabetically.  */
 # ifndef __USE_FILE_OFFSET64
-extern int alphasort (__const void *__e1, __const void *__e2) __THROW;
+extern int alphasort (__const void *__e1, __const void *__e2)
+     __THROW __attribute_pure__;
 # else
 #  ifdef __REDIRECT
 extern int __REDIRECT (alphasort,
-                      (__const void *__e1, __const void *__e2) __THROW,
+                      (__const void *__e1, __const void *__e2)
+                      __THROW __attribute_pure__,
                       alphasort64);
 #  else
 #   define alphasort alphasort64
@@ -264,17 +266,20 @@ extern int __REDIRECT (alphasort,
 # endif
 
 # if defined __USE_GNU && defined __USE_LARGEFILE64
-extern int alphasort64 (__const void *__e1, __const void *__e2) __THROW;
+extern int alphasort64 (__const void *__e1, __const void *__e2)
+     __THROW __attribute_pure__;
 # endif
 
 # ifdef __USE_GNU
 /* Function to compare two `struct dirent's by name & version.  */
 #  ifndef __USE_FILE_OFFSET64
-extern int versionsort (__const void *__e1, __const void *__e2) __THROW;
+extern int versionsort (__const void *__e1, __const void *__e2)
+     __THROW __attribute_pure__;
 #  else
 #   ifdef __REDIRECT
 extern int __REDIRECT (versionsort,
-                      (__const void *__e1, __const void *__e2) __THROW,
+                      (__const void *__e1, __const void *__e2)
+                      __THROW __attribute_pure__,
                       versionsort64);
 #   else
 #    define versionsort versionsort64
@@ -282,7 +287,8 @@ extern int __REDIRECT (versionsort,
 #  endif
 
 #  ifdef __USE_LARGEFILE64
-extern int versionsort64 (__const void *__e1, __const void *__e2) __THROW;
+extern int versionsort64 (__const void *__e1, __const void *__e2)
+     __THROW __attribute_pure__;
 #  endif
 # endif
 
index 4bffb06a393cf5dbbc80f9b1e074350d1b7ee10f..d0ca3f2ffbfeb58e670288d9091d7123a6f61bd1 100644 (file)
@@ -18,6 +18,8 @@ extern __ssize_t __getdents (int __fd, char *__buf, size_t __nbytes)
      internal_function;
 extern __ssize_t __getdents64 (int __fd, char *__buf, size_t __nbytes)
      internal_function;
-extern int __alphasort64 (const void *a, const void *b);
-extern int __versionsort64 (const void *a, const void *b);
+extern int __alphasort64 (const void *a, const void *b)
+     __attribute_pure__;
+extern int __versionsort64 (const void *a, const void *b)
+     __attribute_pure__;
 #endif
index 7187d76c0550a0b25061c3a9d25af03f3d4bf15e..ee12563e995e08aea0ea9e3d38f524210acb545d 100644 (file)
@@ -3,10 +3,13 @@
 
 # ifdef _WCHAR_H
 /* Now define the internal interfaces.  */
-extern int __wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2);
+extern int __wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2)
+     __attribute_pure__;
 extern int __wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
-                         size_t __n);
-extern size_t __wcsnlen (__const wchar_t *__s, size_t __maxlen);
+                         size_t __n)
+     __attribute_pure__;
+extern size_t __wcsnlen (__const wchar_t *__s, size_t __maxlen)
+     __attribute_pure__;
 extern wint_t __btowc (int __c);
 extern int __mbsinit (__const __mbstate_t *__ps);
 extern size_t __mbrtowc (wchar_t *__restrict __pwc,
@@ -37,7 +40,8 @@ extern wchar_t *__wmempcpy (wchar_t *__restrict __s1,
                            size_t __n);
 extern wchar_t *__wmemmove (wchar_t *__s1, __const wchar_t *__s2,
                            size_t __n);
-extern wchar_t *__wcschrnul (__const wchar_t *__s, wchar_t __wc);
+extern wchar_t *__wcschrnul (__const wchar_t *__s, wchar_t __wc)
+     __attribute_pure__;
 
 extern int __vfwscanf (FILE *__restrict __s,
                       __const wchar_t *__restrict __format,
index bdf618f1520de19bb5596fe7de4c2b60c1f85514..4b8b4674c25cdc31774b8e3514235c4f778e3fe0 100644 (file)
@@ -134,15 +134,16 @@ extern size_t __ctype_get_mb_cur_max (void) __THROW;
 
 
 /* Convert a string to a floating-point number.  */
-extern double atof (__const char *__nptr) __THROW;
+extern double atof (__const char *__nptr) __THROW __attribute_pure__;
 /* Convert a string to an integer.  */
-extern int atoi (__const char *__nptr) __THROW;
+extern int atoi (__const char *__nptr) __THROW __attribute_pure__;
 /* Convert a string to a long integer.  */
-extern long int atol (__const char *__nptr) __THROW;
+extern long int atol (__const char *__nptr) __THROW __attribute_pure__;
 
 #if defined __USE_ISOC99 || (defined __GNUC__ && defined __USE_MISC)
-/* These functions will part of the standard C library in ISO C99.  */
-__extension__ extern long long int atoll (__const char *__nptr) __THROW;
+/* Convert a string to a long long integer.  */
+__extension__ extern long long int atoll (__const char *__nptr)
+     __THROW __attribute_pure__;
 #endif
 
 /* Convert a string to a floating-point number.  */
@@ -384,7 +385,7 @@ atoll (__const char *__nptr) __THROW
 extern char *l64a (long int __n) __THROW;
 
 /* Read a number from a string S in base 64 as above.  */
-extern long int a64l (__const char *__s) __THROW;
+extern long int a64l (__const char *__s) __THROW __attribute_pure__;
 
 
 # include <sys/types.h>        /* we need int32_t... */
@@ -552,7 +553,7 @@ extern void *valloc (size_t __size) __THROW __attribute_malloc__;
 #ifdef __USE_XOPEN2K
 /* Allocate memory of SIZE bytes with an alignment of ALIGNMENT.  */
 extern int posix_memalign (void **memptr, size_t alignment, size_t size)
-     __THROW;
+     __THROW __attribute_malloc__;
 #endif
 
 /* Abort execution and generate a core-dump.  */
index 6ffe38b02fa304989743a37d3787ca1054b7ab3d..d33b0ea76b99fa5ddb6f697b166161311a1e685a 100644 (file)
@@ -119,10 +119,11 @@ extern wchar_t *wcsncat (wchar_t *__restrict __dest,
      __THROW;
 
 /* Compare S1 and S2.  */
-extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2) __THROW;
+extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2)
+     __THROW __attribute_pure__;
 /* Compare N wide-characters of S1 and S2.  */
 extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)
-     __THROW;
+     __THROW __attribute_pure__;
 
 #ifdef __USE_GNU
 /* Compare S1 and S2, ignoring case.  */
@@ -167,39 +168,42 @@ extern size_t __wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
                           size_t __n, __locale_t __loc) __THROW;
 
 /* Duplicate S, returning an identical malloc'd string.  */
-extern wchar_t *wcsdup (__const wchar_t *__s) __THROW;
+extern wchar_t *wcsdup (__const wchar_t *__s) __THROW __attribute_malloc__;
 #endif
 
 /* Find the first occurrence of WC in WCS.  */
-extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc) __THROW;
+extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc)
+     __THROW __attribute_pure__;
 /* Find the last occurrence of WC in WCS.  */
-extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc) __THROW;
+extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc)
+     __THROW __attribute_pure__;
 
 #ifdef __USE_GNU
 /* This funciton is similar to `wcschr'.  But it returns a pointer to
    the closing NUL wide character in case C is not found in S.  */
-extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc) __THROW;
+extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc)
+     __THROW __attribute_pure__;
 #endif
 
 /* Return the length of the initial segmet of WCS which
    consists entirely of wide characters not in REJECT.  */
 extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject)
-     __THROW;
+     __THROW __attribute_pure__;
 /* Return the length of the initial segmet of WCS which
    consists entirely of wide characters in  ACCEPT.  */
 extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept)
-     __THROW;
+     __THROW __attribute_pure__;
 /* Find the first occurrence in WCS of any character in ACCEPT.  */
 extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept)
-     __THROW;
+     __THROW __attribute_pure__;
 /* Find the first occurrence of NEEDLE in HAYSTACK.  */
 extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle)
-     __THROW;
+     __THROW __attribute_pure__;
 
 #ifdef __USE_XOPEN
 /* Another name for `wcsstr' from XPG4.  */
 extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle)
-     __THROW;
+     __THROW __attribute_pure__;
 #endif
 
 /* Divide WCS into tokens separated by characters in DELIM.  */
@@ -208,22 +212,24 @@ extern wchar_t *wcstok (wchar_t *__restrict __s,
                        wchar_t **__restrict __ptr) __THROW;
 
 /* Return the number of wide characters in S.  */
-extern size_t __wcslen (__const wchar_t *__s) __THROW;
-extern size_t wcslen (__const wchar_t *__s) __THROW;
+extern size_t __wcslen (__const wchar_t *__s) __THROW __attribute_pure__;
+extern size_t wcslen (__const wchar_t *__s) __THROW __attribute_pure__;
 
 #ifdef __USE_GNU
 /* Return the number of wide characters in S, but at most MAXLEN.  */
-extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen) __THROW;
+extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen)
+     __THROW __attribute_pure__;
 #endif
 
 
 /* Search N wide characters of S for C.  */
 extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n)
-     __THROW;
+     __THROW __attribute_pure__;
 
 /* Compare N wide characters of S1 and S2.  */
 extern int wmemcmp (__const wchar_t *__restrict __s1,
-                   __const wchar_t *__restrict __s2, size_t __n) __THROW;
+                   __const wchar_t *__restrict __s2, size_t __n)
+     __THROW __attribute_pure__;
 
 /* Copy N wide characters of SRC to DEST.  */
 extern wchar_t *wmemcpy (wchar_t *__restrict __s1,