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.
|
* configure.in: Check for -fexceptions.
|
||||||
* config.make.in: Define exceptions, not no-exceptions.
|
* 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().
|
__P to use throw().
|
||||||
* misc/Makefile: Define CFLAGS-tsearch.c and CFLAGS-lsearch.c to
|
* misc/Makefile: Define CFLAGS-tsearch.c and CFLAGS-lsearch.c to
|
||||||
$(exceptions).
|
$(exceptions).
|
||||||
* stdlib/Makefile: Likewise for bsearch.c, msort.c, and qsort.c.
|
* 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.
|
lfind, and lsearch prototpypes.
|
||||||
* stdlib/stdlib.h: Likewise for bsearch and qsort.
|
* 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
|
/* Search for an entry matching the given KEY in the tree pointed to
|
||||||
by *ROOTP and insert a new element if not found. */
|
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));
|
__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));
|
__compar_fn_t compar));
|
||||||
|
|
||||||
/* Search for an entry matching the given KEY in the tree pointed to
|
/* Search for an entry matching the given KEY in the tree pointed to
|
||||||
by *ROOTP. If no matching entry is available return NULL. */
|
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));
|
__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));
|
__compar_fn_t compar));
|
||||||
|
|
||||||
/* Remove the element matching KEY from the tree pointed to by *ROOTP. */
|
/* 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));
|
__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));
|
__compar_fn_t compar));
|
||||||
|
|
||||||
#ifndef __ACTION_FN_T
|
#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
|
/* Walk through the whole tree and call the ACTION callback for every node
|
||||||
or leaf. */
|
or leaf. */
|
||||||
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 __PMS ((__const void *__root, __action_fn_t action));
|
extern void twalk __PMT ((__const void *__root, __action_fn_t action));
|
||||||
|
|
||||||
#ifdef __USE_GNU
|
#ifdef __USE_GNU
|
||||||
/* Callback type for function to free a tree node. If the keys are atomic
|
/* 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));
|
typedef void (*__free_fn_t) __P ((void *__nodep));
|
||||||
|
|
||||||
/* Destroy the whole tree, call FREEFCT for each node or leaf. */
|
/* Destroy the whole tree, call FREEFCT for each node or leaf. */
|
||||||
extern void __tdestroy __PMS ((void *__root, __free_fn_t freefct));
|
extern void __tdestroy __PMT ((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));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Perform linear search for KEY by comparing by COMPAR in an array
|
/* Perform linear search for KEY by comparing by COMPAR in an array
|
||||||
[BASE,BASE+NMEMB*SIZE). */
|
[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,
|
size_t *__nmemb, size_t __size,
|
||||||
__compar_fn_t __compar));
|
__compar_fn_t __compar));
|
||||||
|
|
||||||
/* Perform linear search for KEY by comparing by COMPAR function in
|
/* Perform linear search for KEY by comparing by COMPAR function in
|
||||||
array [BASE,BASE+NMEMB*SIZE) and insert entry if not found. */
|
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,
|
size_t *__nmemb, size_t __size,
|
||||||
__compar_fn_t __compar));
|
__compar_fn_t __compar));
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
# endif
|
# endif
|
||||||
/* This macro will be used for functions which might take C++ callback
|
/* This macro will be used for functions which might take C++ callback
|
||||||
functions. */
|
functions. */
|
||||||
# define __PMS(args) args
|
# define __PMT(args) args
|
||||||
# define __DOTS , ...
|
# define __DOTS , ...
|
||||||
|
|
||||||
#else /* Not GCC. */
|
#else /* Not GCC. */
|
||||||
@ -46,7 +46,7 @@
|
|||||||
# if (defined __STDC__ && __STDC__) || defined __cplusplus
|
# if (defined __STDC__ && __STDC__) || defined __cplusplus
|
||||||
|
|
||||||
# define __P(args) args
|
# define __P(args) args
|
||||||
# define __PMS(args) args
|
# define __PMT(args) args
|
||||||
# define __const const
|
# define __const const
|
||||||
# define __signed signed
|
# define __signed signed
|
||||||
# define __volatile volatile
|
# define __volatile volatile
|
||||||
@ -55,7 +55,7 @@
|
|||||||
# else /* Not ANSI C or C++. */
|
# else /* Not ANSI C or C++. */
|
||||||
|
|
||||||
# define __P(args) () /* No prototypes. */
|
# define __P(args) () /* No prototypes. */
|
||||||
# define __PMS(args) ()
|
# define __PMT(args) ()
|
||||||
# define __const /* No ANSI C keywords. */
|
# define __const /* No ANSI C keywords. */
|
||||||
# define __signed
|
# define __signed
|
||||||
# define __volatile
|
# 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
|
/* Do a binary search for KEY in BASE, which consists of NMEMB elements
|
||||||
of SIZE bytes each, using COMPAR to perform the comparisons. */
|
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,
|
size_t __nmemb, size_t __size,
|
||||||
__compar_fn_t __compar));
|
__compar_fn_t __compar));
|
||||||
|
|
||||||
/* Sort NMEMB elements of BASE, of SIZE bytes each,
|
/* Sort NMEMB elements of BASE, of SIZE bytes each,
|
||||||
using COMPAR to perform the comparisons. */
|
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));
|
__compar_fn_t __compar));
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user