mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-18 12:16:13 +08:00
Update.
* misc/sys/cdefs.h: Define __PMT. When using modern g++ define * misc/search.h: Use __PMT in tsearch, tfind, tdelete, twalk, tdestroy,
This commit is contained in:
parent
dff14448f7
commit
9c3a54d42a
@ -2,12 +2,12 @@
|
||||
|
||||
* configure.in: Check for -fexceptions.
|
||||
* config.make.in: Define exceptions, not no-exceptions.
|
||||
* misc/sys/cdefs.h: Define __PMS. When using modern g++ define
|
||||
* misc/sys/cdefs.h: Define __PMT. When using modern g++ define
|
||||
__P to use throw().
|
||||
* misc/Makefile: Define CFLAGS-tsearch.c and CFLAGS-lsearch.c to
|
||||
$(exceptions).
|
||||
* stdlib/Makefile: Likewise for bsearch.c, msort.c, and qsort.c.
|
||||
* misc/search.h: Use __PMS in tsearch, tfind, tdelete, twalk, tdestroy,
|
||||
* misc/search.h: Use __PMT in tsearch, tfind, tdelete, twalk, tdestroy,
|
||||
lfind, and lsearch prototpypes.
|
||||
* stdlib/stdlib.h: Likewise for bsearch and qsort.
|
||||
|
||||
|
@ -127,22 +127,22 @@ VISIT;
|
||||
|
||||
/* Search for an entry matching the given KEY in the tree pointed to
|
||||
by *ROOTP and insert a new element if not found. */
|
||||
extern void *__tsearch __PMS ((__const void *__key, void **__rootp,
|
||||
extern void *__tsearch __PMT ((__const void *__key, void **__rootp,
|
||||
__compar_fn_t compar));
|
||||
extern void *tsearch __PMS ((__const void *__key, void **__rootp,
|
||||
extern void *tsearch __PMT ((__const void *__key, void **__rootp,
|
||||
__compar_fn_t compar));
|
||||
|
||||
/* Search for an entry matching the given KEY in the tree pointed to
|
||||
by *ROOTP. If no matching entry is available return NULL. */
|
||||
extern void *__tfind __PMS ((__const void *__key, void *__const *__rootp,
|
||||
extern void *__tfind __PMT ((__const void *__key, void *__const *__rootp,
|
||||
__compar_fn_t compar));
|
||||
extern void *tfind __PMS ((__const void *__key, void *__const *__rootp,
|
||||
extern void *tfind __PMT ((__const void *__key, void *__const *__rootp,
|
||||
__compar_fn_t compar));
|
||||
|
||||
/* Remove the element matching KEY from the tree pointed to by *ROOTP. */
|
||||
extern void *__tdelete __PMS ((__const void *__key, void **__rootp,
|
||||
extern void *__tdelete __PMT ((__const void *__key, void **__rootp,
|
||||
__compar_fn_t compar));
|
||||
extern void *tdelete __PMS ((__const void *__key, void **__rootp,
|
||||
extern void *tdelete __PMT ((__const void *__key, void **__rootp,
|
||||
__compar_fn_t compar));
|
||||
|
||||
#ifndef __ACTION_FN_T
|
||||
@ -154,8 +154,8 @@ typedef void (*__action_fn_t) __P ((__const void *__nodep,
|
||||
|
||||
/* Walk through the whole tree and call the ACTION callback for every node
|
||||
or leaf. */
|
||||
extern void __twalk __PMS ((__const void *__root, __action_fn_t action));
|
||||
extern void twalk __PMS ((__const void *__root, __action_fn_t action));
|
||||
extern void __twalk __PMT ((__const void *__root, __action_fn_t action));
|
||||
extern void twalk __PMT ((__const void *__root, __action_fn_t action));
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Callback type for function to free a tree node. If the keys are atomic
|
||||
@ -163,20 +163,20 @@ extern void twalk __PMS ((__const void *__root, __action_fn_t action));
|
||||
typedef void (*__free_fn_t) __P ((void *__nodep));
|
||||
|
||||
/* Destroy the whole tree, call FREEFCT for each node or leaf. */
|
||||
extern void __tdestroy __PMS ((void *__root, __free_fn_t freefct));
|
||||
extern void tdestroy __PMS ((void *__root, __free_fn_t freefct));
|
||||
extern void __tdestroy __PMT ((void *__root, __free_fn_t freefct));
|
||||
extern void tdestroy __PMT ((void *__root, __free_fn_t freefct));
|
||||
#endif
|
||||
|
||||
|
||||
/* Perform linear search for KEY by comparing by COMPAR in an array
|
||||
[BASE,BASE+NMEMB*SIZE). */
|
||||
extern void *lfind __PMS ((__const void *__key, __const void *__base,
|
||||
extern void *lfind __PMT ((__const void *__key, __const void *__base,
|
||||
size_t *__nmemb, size_t __size,
|
||||
__compar_fn_t __compar));
|
||||
|
||||
/* Perform linear search for KEY by comparing by COMPAR function in
|
||||
array [BASE,BASE+NMEMB*SIZE) and insert entry if not found. */
|
||||
extern void *lsearch __PMS ((__const void *__key, void *__base,
|
||||
extern void *lsearch __PMT ((__const void *__key, void *__base,
|
||||
size_t *__nmemb, size_t __size,
|
||||
__compar_fn_t __compar));
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
# endif
|
||||
/* This macro will be used for functions which might take C++ callback
|
||||
functions. */
|
||||
# define __PMS(args) args
|
||||
# define __PMT(args) args
|
||||
# define __DOTS , ...
|
||||
|
||||
#else /* Not GCC. */
|
||||
@ -46,7 +46,7 @@
|
||||
# if (defined __STDC__ && __STDC__) || defined __cplusplus
|
||||
|
||||
# define __P(args) args
|
||||
# define __PMS(args) args
|
||||
# define __PMT(args) args
|
||||
# define __const const
|
||||
# define __signed signed
|
||||
# define __volatile volatile
|
||||
@ -55,7 +55,7 @@
|
||||
# else /* Not ANSI C or C++. */
|
||||
|
||||
# define __P(args) () /* No prototypes. */
|
||||
# define __PMS(args) ()
|
||||
# define __PMT(args) ()
|
||||
# define __const /* No ANSI C keywords. */
|
||||
# define __signed
|
||||
# define __volatile
|
||||
|
@ -604,13 +604,13 @@ typedef __compar_fn_t comparison_fn_t;
|
||||
|
||||
/* Do a binary search for KEY in BASE, which consists of NMEMB elements
|
||||
of SIZE bytes each, using COMPAR to perform the comparisons. */
|
||||
extern __ptr_t bsearch __PMS ((__const __ptr_t __key, __const __ptr_t __base,
|
||||
extern __ptr_t bsearch __PMT ((__const __ptr_t __key, __const __ptr_t __base,
|
||||
size_t __nmemb, size_t __size,
|
||||
__compar_fn_t __compar));
|
||||
|
||||
/* Sort NMEMB elements of BASE, of SIZE bytes each,
|
||||
using COMPAR to perform the comparisons. */
|
||||
extern void qsort __PMS ((__ptr_t __base, size_t __nmemb, size_t __size,
|
||||
extern void qsort __PMT ((__ptr_t __base, size_t __nmemb, size_t __size,
|
||||
__compar_fn_t __compar));
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user