* malloc/malloc.h: Don't define __THROW if it is already defined.
This commit is contained in:
Ulrich Drepper 2004-09-08 06:31:04 +00:00
parent 7ba0e52c39
commit 67254a97d9
7 changed files with 34 additions and 13 deletions

View File

@ -1,5 +1,7 @@
2004-09-07 Ulrich Drepper <drepper@redhat.com> 2004-09-07 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.h: Don't define __THROW if it is already defined.
* sysdeps/powerpc/bits/atomic.h (atomic_increment): Define. * sysdeps/powerpc/bits/atomic.h (atomic_increment): Define.
(atomic_decrement): Define. (atomic_decrement): Define.

View File

@ -1,5 +1,5 @@
/* Prototypes and definition for malloc implementation. /* Prototypes and definition for malloc implementation.
Copyright (C) 1996,1997,1999,2000,2002,2003 Free Software Foundation, Inc. Copyright (C) 1996,97,99,2000,2002,2003,2004 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -66,10 +66,12 @@
/* GCC can always grok prototypes. For C++ programs we add throw() /* GCC can always grok prototypes. For C++ programs we add throw()
to help it optimize the function calls. But this works only with to help it optimize the function calls. But this works only with
gcc 2.8.x and egcs. */ gcc 2.8.x and egcs. */
# if defined __cplusplus && (__GNUC__ >= 3 || __GNUC_MINOR__ >= 8) # ifndef __THROW
# define __THROW throw () # if defined __cplusplus && (__GNUC__ >= 3 || __GNUC_MINOR__ >= 8)
# else # define __THROW throw ()
# define __THROW # else
# define __THROW
# endif
# endif # endif
# define __MALLOC_P(args) args __THROW # define __MALLOC_P(args) args __THROW
/* This macro will be used for functions which might take C++ callback /* This macro will be used for functions which might take C++ callback

View File

@ -1,5 +1,22 @@
2004-09-07 Ulrich Drepper <drepper@redhat.com> 2004-09-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/alpha/pthread_once.c (__pthread_once):
Use atomic_increment instead of atomic_exchange_and_add.
* sysdeps/unix/sysv/linux/sparc/pthread_once.c (__pthread_once):
Likewise.
* sysdeps/unix/sysv/linux/ia64/pthread_once.c (__pthread_once):
Likewise.
* sysdeps/unix/sysv/linux/powerpc/pthread_once.c (__pthread_once):
Likewise.
* allocatestack.c (allocate_stack): Use atomic_increment_val
instead of atomic_exchange_and_add.
* sysdeps/unix/sysv/linux/sem_post.c (__new_sem_post): Likewise.
* sysdeps/unix/sysv/linux/powerpc/sem_post.c (__new_sem_post):
Likewise.
* sysdeps/pthread/pthread_barrier_wait.c (pthread_barrier_wait):
Likewise.
* sysdeps/pthread/pthread.h (pthread_once): Remove __THROW since * sysdeps/pthread/pthread.h (pthread_once): Remove __THROW since
the initialization function might throw. the initialization function might throw.

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2003 Free Software Foundation, Inc. /* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -85,7 +85,7 @@ __pthread_once (pthread_once_t *once_control, void (*init_routine) (void))
pthread_cleanup_pop (0); pthread_cleanup_pop (0);
/* Add one to *once_control to take the bottom 2 bits from 01 to 10. */ /* Add one to *once_control to take the bottom 2 bits from 01 to 10. */
atomic_exchange_and_add (once_control, 1); atomic_increment (once_control);
/* Wake up all other threads. */ /* Wake up all other threads. */
lll_futex_wake (once_control, INT_MAX); lll_futex_wake (once_control, INT_MAX);

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2003 Free Software Foundation, Inc. /* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003. Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
@ -81,7 +81,7 @@ __pthread_once (once_control, init_routine)
/* Add one to *once_control. */ /* Add one to *once_control. */
atomic_exchange_and_add (once_control, 1); atomic_increment (once_control);
/* Wake up all other threads. */ /* Wake up all other threads. */
lll_futex_wake (once_control, INT_MAX); lll_futex_wake (once_control, INT_MAX);

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2003 Free Software Foundation, Inc. /* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003. Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
@ -89,7 +89,7 @@ __pthread_once (pthread_once_t *once_control, void (*init_routine) (void))
/* Add one to *once_control to take the bottom 2 bits from 01 to 10. */ /* Add one to *once_control to take the bottom 2 bits from 01 to 10. */
atomic_exchange_and_add (once_control, 1); atomic_increment (once_control);
/* Wake up all other threads. */ /* Wake up all other threads. */
lll_futex_wake (once_control, INT_MAX); lll_futex_wake (once_control, INT_MAX);

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2003 Free Software Foundation, Inc. /* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003. Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
@ -81,7 +81,7 @@ __pthread_once (once_control, init_routine)
/* Add one to *once_control. */ /* Add one to *once_control. */
atomic_exchange_and_add (once_control, 1); atomic_increment (once_control);
/* Wake up all other threads. */ /* Wake up all other threads. */
lll_futex_wake (once_control, INT_MAX); lll_futex_wake (once_control, INT_MAX);