From: H.J. Lu Date: Fri, 20 Feb 1998 11:09:09 +0000 (+0000) Subject: ropeimpl.h: Check __STL_PTHREADS instead of _PTHREADS. X-Git-Tag: prereleases/egcs-1.0.2-prerelease~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=826603f8c00b170228714e5ad210419b0e2d0ec5;p=thirdparty%2Fgcc.git ropeimpl.h: Check __STL_PTHREADS instead of _PTHREADS. * 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. Co-Authored-By: Jason Merrill From-SVN: r18137 --- diff --git a/libstdc++/stl/ChangeLog b/libstdc++/stl/ChangeLog index c9aff2748c5b..8c300e39db13 100644 --- a/libstdc++/stl/ChangeLog +++ b/libstdc++/stl/ChangeLog @@ -1,3 +1,15 @@ +Wed Jan 14 16:15:05 1998 H.J. Lu (hjl@gnu.org) + Jason Merrill + + * 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. + Sat Nov 8 00:45:17 1997 Jason Merrill * stl_hash_set.h (swap): Fix typo. diff --git a/libstdc++/stl/ropeimpl.h b/libstdc++/stl/ropeimpl.h index dcd6bfd51176..d652c815b45d 100644 --- a/libstdc++/stl/ropeimpl.h +++ b/libstdc++/stl/ropeimpl.h @@ -1429,7 +1429,7 @@ rope::rope(size_t n, charT c) template charT rope::empty_c_str[1]; -# ifdef _PTHREADS +# ifdef __STL_PTHREADS template pthread_mutex_t rope::swap_lock = PTHREAD_MUTEX_INITIALIZER; # endif diff --git a/libstdc++/stl/stl_alloc.h b/libstdc++/stl/stl_alloc.h index a6d41437bd4f..0f2ba28bb98e 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::reallocate(void *p, return(result); } -#ifdef _PTHREADS +#ifdef __STL_PTHREADS template pthread_mutex_t __default_alloc_template::__node_allocator_lock diff --git a/libstdc++/stl/stl_config.h b/libstdc++/stl/stl_config.h index c6546667a93f..ff7302898974 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 620db6ffbc5f..d37c679ba288 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.