diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-02-20 11:13:44 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-02-20 11:13:44 +0000 |
commit | bcf88d84066d3f29f5921c8f160f612b4b5d18be (patch) | |
tree | 5618686f3e5e0f08b6e3cfd21b3e18330132e4f3 /libstdc++/stl | |
parent | 2ab4626ef42b0d39047f9d0c39d4d383083d27bd (diff) | |
download | gcc-bcf88d84066d3f29f5921c8f160f612b4b5d18be.tar.gz |
* ropeimpl.h: Check __STL_PTHREADS instead of _PTHREADS.
* stl_alloc.h: Ditto.
* stl_config.h: Ditto.
* stl_rope.h: Ditto.
* stl_config.h: include <_G_config.h> if __GNUG__ is defined.
(__STL_PTHREADS): Defined if _PTHREADS is defined or
__GLIBC__ >= 2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18138 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++/stl')
-rw-r--r-- | libstdc++/stl/ChangeLog | 16 | ||||
-rw-r--r-- | libstdc++/stl/ropeimpl.h | 2 | ||||
-rw-r--r-- | libstdc++/stl/stl_algo.h | 2 | ||||
-rw-r--r-- | libstdc++/stl/stl_alloc.h | 8 | ||||
-rw-r--r-- | libstdc++/stl/stl_config.h | 12 | ||||
-rw-r--r-- | libstdc++/stl/stl_rope.h | 4 |
6 files changed, 34 insertions, 10 deletions
diff --git a/libstdc++/stl/ChangeLog b/libstdc++/stl/ChangeLog index c9aff2748c5..5605d7c323e 100644 --- a/libstdc++/stl/ChangeLog +++ b/libstdc++/stl/ChangeLog @@ -1,3 +1,19 @@ +Fri Feb 20 16:15:05 1998 H.J. Lu (hjl@gnu.org) + Jason Merrill <jason@yorick.cygnus.com> + + * ropeimpl.h: Check __STL_PTHREADS instead of _PTHREADS. + * stl_alloc.h: Ditto. + * stl_config.h: Ditto. + * stl_rope.h: Ditto. + + * stl_config.h: include <_G_config.h> if __GNUG__ is defined. + (__STL_PTHREADS): Defined if _PTHREADS is defined or + __GLIBC__ >= 2. + +Tue Jan 27 12:01:25 1998 Jason Merrill <jason@yorick.cygnus.com> + + * stl_algo.h (__lg): Fix for n == 0. + Sat Nov 8 00:45:17 1997 Jason Merrill <jason@yorick.cygnus.com> * stl_hash_set.h (swap): Fix typo. diff --git a/libstdc++/stl/ropeimpl.h b/libstdc++/stl/ropeimpl.h index dcd6bfd5117..d652c815b45 100644 --- a/libstdc++/stl/ropeimpl.h +++ b/libstdc++/stl/ropeimpl.h @@ -1429,7 +1429,7 @@ rope<charT, Alloc>::rope(size_t n, charT c) template<class charT, class Alloc> charT rope<charT,Alloc>::empty_c_str[1]; -# ifdef _PTHREADS +# ifdef __STL_PTHREADS template<class charT, class Alloc> pthread_mutex_t rope<charT,Alloc>::swap_lock = PTHREAD_MUTEX_INITIALIZER; # endif diff --git a/libstdc++/stl/stl_algo.h b/libstdc++/stl/stl_algo.h index 53b8dbd13a4..5cde42c1cd2 100644 --- a/libstdc++/stl/stl_algo.h +++ b/libstdc++/stl/stl_algo.h @@ -1004,7 +1004,7 @@ void __final_insertion_sort(RandomAccessIterator first, template <class Size> inline Size __lg(Size n) { Size k; - for (k = 0; n != 1; n >>= 1) ++k; + for (k = 0; n > 1; n >>= 1) ++k; return k; } diff --git a/libstdc++/stl/stl_alloc.h b/libstdc++/stl/stl_alloc.h index a6d41437bd4..0f2ba28bb98 100644 --- a/libstdc++/stl/stl_alloc.h +++ b/libstdc++/stl/stl_alloc.h @@ -61,12 +61,12 @@ # define __RESTRICT #endif -#if !defined(_PTHREADS) && !defined(_NOTHREADS) \ +#if !defined(__STL_PTHREADS) && !defined(_NOTHREADS) \ && !defined(__STL_SGI_THREADS) && !defined(__STL_WIN32THREADS) # define _NOTHREADS #endif -# ifdef _PTHREADS +# ifdef __STL_PTHREADS // POSIX Threads // This is dubious, since this is likely to be a high contention // lock. Performance may not be adequate. @@ -357,7 +357,7 @@ private: static inline void __unlock(volatile unsigned long *); # endif -# ifdef _PTHREADS +# ifdef __STL_PTHREADS static pthread_mutex_t __node_allocator_lock; # endif @@ -558,7 +558,7 @@ __default_alloc_template<threads, inst>::reallocate(void *p, return(result); } -#ifdef _PTHREADS +#ifdef __STL_PTHREADS template <bool threads, int inst> pthread_mutex_t __default_alloc_template<threads, inst>::__node_allocator_lock diff --git a/libstdc++/stl/stl_config.h b/libstdc++/stl/stl_config.h index c6546667a93..ff730289897 100644 --- a/libstdc++/stl/stl_config.h +++ b/libstdc++/stl/stl_config.h @@ -71,6 +71,10 @@ // (19) Defines __stl_assert either as a test or as a null macro, // depending on whether or not __STL_ASSERTIONS is defined. +#ifdef _PTHREADS +# define __STL_PTHREADS +#endif + # if defined(__sgi) && !defined(__GNUC__) # if !defined(_BOOL) # define __STL_NEED_BOOL @@ -93,13 +97,14 @@ # if (_COMPILER_VERSION >= 721) && defined(_NAMESPACES) # define __STL_USE_NAMESPACES # endif -# if !defined(_NOTHREADS) && !defined(_PTHREADS) +# if !defined(_NOTHREADS) && !defined(__STL_PTHREADS) # define __STL_SGI_THREADS # endif # endif # ifdef __GNUC__ -# if 0 && (__GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)) +# include <_G_config.h> +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __STL_STATIC_TEMPLATE_MEMBER_BUG # define __STL_NEED_TYPENAME # define __STL_NEED_EXPLICIT @@ -109,6 +114,9 @@ # define __STL_EXPLICIT_FUNCTION_TMPL_ARGS # define __STL_MEMBER_TEMPLATES # endif +# if !defined(_NOTHREADS) && __GLIBC__ >= 2 +# define __STL_PTHREADS +# endif # ifdef __EXCEPTIONS # define __STL_USE_EXCEPTIONS # endif diff --git a/libstdc++/stl/stl_rope.h b/libstdc++/stl/stl_rope.h index 620db6ffbc5..d37c679ba28 100644 --- a/libstdc++/stl/stl_rope.h +++ b/libstdc++/stl/stl_rope.h @@ -306,7 +306,7 @@ struct __rope_RopeBase { { return InterlockedDecrement(&refcount); } -# elif defined(_PTHREADS) +# elif defined(__STL_PTHREADS) // This should be portable, but performance is expected // to be quite awful. This really needs platform specific // code. @@ -939,7 +939,7 @@ class rope { static cstrptr atomic_swap(cstrptr *p, cstrptr q) { return (cstrptr) InterlockedExchange((LPLONG)p, (LONG)q); } -# elif defined(_PTHREADS) +# elif defined(__STL_PTHREADS) // This should be portable, but performance is expected // to be quite awful. This really needs platform specific // code. |