diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6434d662e40..9087092f4d4 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,21 @@ +2003-12-09 Benjamin Kosnik + + * config/linker-map.gnu: Remove private ios_base members from + export list. + + * config/cpu/alpha/atomicity.h: Consistently format. + * config/cpu/cris/atomicity.h: Same. + * config/cpu/generic/atomicity.h: Same. + * config/cpu/hppa/atomicity.h: Same. + * config/cpu/i386/atomicity.h: Same. + * config/cpu/i486/atomicity.h: Same. + * config/cpu/ia64/atomicity.h: Same. + * config/cpu/m68k/atomicity.h: Same. + * config/cpu/mips/atomicity.h: Same. + * config/cpu/powerpc/atomicity.h: Same. + * config/cpu/s390/atomicity.h: Same. + * config/cpu/sparc/atomicity.h: Same. + 2003-12-09 Benjamin Kosnik PR libstdc++/13296 diff --git a/libstdc++-v3/config/cpu/alpha/atomicity.h b/libstdc++-v3/config/cpu/alpha/atomicity.h index 8969a328e9a..cb071cdae97 100644 --- a/libstdc++-v3/config/cpu/alpha/atomicity.h +++ b/libstdc++-v3/config/cpu/alpha/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: Alpha version -*- C++ -*- -// Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. +// Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -39,7 +39,7 @@ typedef int _Atomic_word; static inline _Atomic_word __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word* __mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { register int __result, __tmp; @@ -58,7 +58,7 @@ __exchange_and_add (volatile _Atomic_word* __mem, int __val) static inline void __attribute__ ((__unused__)) -__atomic_add (volatile _Atomic_word* __mem, int __val) +__atomic_add(volatile _Atomic_word* __mem, int __val) { register _Atomic_word __result; diff --git a/libstdc++-v3/config/cpu/cris/atomicity.h b/libstdc++-v3/config/cpu/cris/atomicity.h index ed93b5d64d4..f254c769b18 100644 --- a/libstdc++-v3/config/cpu/cris/atomicity.h +++ b/libstdc++-v3/config/cpu/cris/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: CRIS version -*- C++ -*- -// Copyright (C) 2001 Free Software Foundation, Inc. +// Copyright (C) 2001, 2003 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -35,7 +35,7 @@ typedef int _Atomic_word __attribute__ ((__aligned__ (4))); static inline _Atomic_word __attribute__ ((__unused__)) -__exchange_and_add (_Atomic_word* __mem, int __val) +__exchange_and_add(_Atomic_word* __mem, int __val) { int __tmp; _Atomic_word __result; @@ -71,9 +71,9 @@ __exchange_and_add (_Atomic_word* __mem, int __val) static inline void __attribute__ ((__unused__)) -__atomic_add (_Atomic_word* __mem, int __val) +__atomic_add(_Atomic_word* __mem, int __val) { - __exchange_and_add (__mem, __val); + __exchange_and_add(__mem, __val); } #endif /* atomicity.h */ diff --git a/libstdc++-v3/config/cpu/generic/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity.h index f2340d62512..1bee9ea6b0c 100644 --- a/libstdc++-v3/config/cpu/generic/atomicity.h +++ b/libstdc++-v3/config/cpu/generic/atomicity.h @@ -48,30 +48,30 @@ namespace __gnu_cxx static inline _Atomic_word __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word* __mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { #ifndef __GTHREAD_MUTEX_INIT - __gthread_once (&__gnu_cxx::_Atomic_add_mutex_once, - __gnu_cxx::__gthread_atomic_add_mutex_once); + __gthread_once(&__gnu_cxx::_Atomic_add_mutex_once, + __gnu_cxx::__gthread_atomic_add_mutex_once); #endif _Atomic_word __result; - __gthread_mutex_lock (&__gnu_cxx::_Atomic_add_mutex); + __gthread_mutex_lock(&__gnu_cxx::_Atomic_add_mutex); __result = *__mem; *__mem += __val; - __gthread_mutex_unlock (&__gnu_cxx::_Atomic_add_mutex); + __gthread_mutex_unlock(&__gnu_cxx::_Atomic_add_mutex); return __result; } static inline void __attribute__ ((__unused__)) -__atomic_add (volatile _Atomic_word* __mem, int __val) +__atomic_add(volatile _Atomic_word* __mem, int __val) { - (void) __exchange_and_add (__mem, __val); + (void) __exchange_and_add(__mem, __val); } #endif /* atomicity.h */ diff --git a/libstdc++-v3/config/cpu/hppa/atomicity.h b/libstdc++-v3/config/cpu/hppa/atomicity.h index a717ab555a4..b07414246af 100644 --- a/libstdc++-v3/config/cpu/hppa/atomicity.h +++ b/libstdc++-v3/config/cpu/hppa/atomicity.h @@ -42,7 +42,7 @@ template volatile int __Atomicity_lock<0>::_S_atomicity_lock; static inline int __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word* __mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { _Atomic_word result; int tmp; @@ -67,7 +67,7 @@ __exchange_and_add (volatile _Atomic_word* __mem, int __val) static inline void __attribute__ ((__unused__)) -__atomic_add (_Atomic_word* __mem, int __val) +__atomic_add(_Atomic_word* __mem, int __val) { int tmp; volatile int& lock = __Atomicity_lock<0>::_S_atomicity_lock; diff --git a/libstdc++-v3/config/cpu/i386/atomicity.h b/libstdc++-v3/config/cpu/i386/atomicity.h index a370e752caf..70d38fe3269 100644 --- a/libstdc++-v3/config/cpu/i386/atomicity.h +++ b/libstdc++-v3/config/cpu/i386/atomicity.h @@ -32,20 +32,20 @@ typedef int _Atomic_word; -template -struct __Atomicity_lock -{ - static volatile _Atomic_word _S_atomicity_lock; -}; +template + struct __Atomicity_lock + { + static volatile _Atomic_word _S_atomicity_lock; + }; -template +template volatile _Atomic_word __Atomicity_lock<__inst>::_S_atomicity_lock = 0; template volatile _Atomic_word __Atomicity_lock<0>::_S_atomicity_lock; static inline _Atomic_word __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word *__mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { register _Atomic_word __result, __tmp = 1; @@ -67,9 +67,9 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val) static inline void __attribute__ ((__unused__)) -__atomic_add (volatile _Atomic_word* __mem, int __val) +__atomic_add(volatile _Atomic_word* __mem, int __val) { - __exchange_and_add (__mem, __val); + __exchange_and_add(__mem, __val); } #endif /* atomicity.h */ diff --git a/libstdc++-v3/config/cpu/i486/atomicity.h b/libstdc++-v3/config/cpu/i486/atomicity.h index 51ba5410c85..eab0f3da264 100644 --- a/libstdc++-v3/config/cpu/i486/atomicity.h +++ b/libstdc++-v3/config/cpu/i486/atomicity.h @@ -34,7 +34,7 @@ typedef int _Atomic_word; static inline _Atomic_word __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word *__mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { register _Atomic_word __result; __asm__ __volatile__ ("lock; xadd{l} {%0,%1|%1,%0}" @@ -46,12 +46,10 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val) static inline void __attribute__ ((__unused__)) -__atomic_add (volatile _Atomic_word* __mem, int __val) +__atomic_add(volatile _Atomic_word* __mem, int __val) { __asm__ __volatile__ ("lock; add{l} {%1,%0|%0,%1}" : "+m" (*__mem) : "ir" (__val) : "memory"); } #endif /* atomicity.h */ - - diff --git a/libstdc++-v3/config/cpu/ia64/atomicity.h b/libstdc++-v3/config/cpu/ia64/atomicity.h index 40fbc55d066..4408d06718d 100644 --- a/libstdc++-v3/config/cpu/ia64/atomicity.h +++ b/libstdc++-v3/config/cpu/ia64/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: IA64 version -*- C++ -*- -// Copyright (C) 2000, 2001 Free Software Foundation, Inc. +// Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -36,16 +36,16 @@ typedef int _Atomic_word; static inline _Atomic_word __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word *__mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { - return __sync_fetch_and_add (__mem, __val); + return __sync_fetch_and_add(__mem, __val); } static inline void __attribute__ ((__unused__)) -__atomic_add (volatile _Atomic_word* __mem, int __val) +__atomic_add(volatile _Atomic_word* __mem, int __val) { - __sync_fetch_and_add (__mem, __val); + __sync_fetch_and_add(__mem, __val); } #endif /* atomicity.h */ diff --git a/libstdc++-v3/config/cpu/m68k/atomicity.h b/libstdc++-v3/config/cpu/m68k/atomicity.h index c4ce17dac67..0c7b189237b 100644 --- a/libstdc++-v3/config/cpu/m68k/atomicity.h +++ b/libstdc++-v3/config/cpu/m68k/atomicity.h @@ -39,7 +39,7 @@ typedef int _Atomic_word; static inline _Atomic_word __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word *__mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { register _Atomic_word __result = *__mem; register _Atomic_word __temp; @@ -60,7 +60,7 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val) */ static inline _Atomic_word __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word *__mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { _Atomic_word __result; short __level, __tmpsr; @@ -77,20 +77,20 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val) #else -template -struct __Atomicity_lock -{ - static volatile unsigned char _S_atomicity_lock; -}; +template + struct __Atomicity_lock + { + static volatile unsigned char _S_atomicity_lock; + }; -template +template volatile unsigned char __Atomicity_lock<__inst>::_S_atomicity_lock = 0; template volatile unsigned char __Atomicity_lock<0>::_S_atomicity_lock; static inline _Atomic_word __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word *__mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { _Atomic_word __result; @@ -130,11 +130,11 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val) static inline void __attribute__ ((__unused__)) -__atomic_add (volatile _Atomic_word* __mem, int __val) +__atomic_add(volatile _Atomic_word* __mem, int __val) { // Careful: using add.l with a memory destination is not // architecturally guaranteed to be atomic. - (void) __exchange_and_add (__mem, __val); + (void) __exchange_and_add(__mem, __val); } #endif /* !_GLIBCXX_ATOMICITY_H */ diff --git a/libstdc++-v3/config/cpu/mips/atomicity.h b/libstdc++-v3/config/cpu/mips/atomicity.h index f24b059b8e9..919bba7a3cc 100644 --- a/libstdc++-v3/config/cpu/mips/atomicity.h +++ b/libstdc++-v3/config/cpu/mips/atomicity.h @@ -34,7 +34,7 @@ typedef int _Atomic_word; static inline int __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word *__mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { int __result, __tmp; @@ -60,7 +60,7 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val) static inline void __attribute__ ((__unused__)) -__atomic_add (volatile _Atomic_word *__mem, int __val) +__atomic_add(volatile _Atomic_word* __mem, int __val) { int __result; diff --git a/libstdc++-v3/config/cpu/powerpc/atomicity.h b/libstdc++-v3/config/cpu/powerpc/atomicity.h index d32add0d95a..518fd62ac96 100644 --- a/libstdc++-v3/config/cpu/powerpc/atomicity.h +++ b/libstdc++-v3/config/cpu/powerpc/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: PowerPC version -*- C++ -*- -// Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. +// Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -40,7 +40,7 @@ typedef int _Atomic_word; static inline _Atomic_word __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word* __mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { _Atomic_word __tmp, __res; __asm__ __volatile__ ( @@ -59,7 +59,7 @@ __exchange_and_add (volatile _Atomic_word* __mem, int __val) static inline void __attribute__ ((__unused__)) -__atomic_add (volatile _Atomic_word *__mem, int __val) +__atomic_add(volatile _Atomic_word* __mem, int __val) { _Atomic_word __tmp; __asm__ __volatile__ ( diff --git a/libstdc++-v3/config/cpu/s390/atomicity.h b/libstdc++-v3/config/cpu/s390/atomicity.h index 2bb6f523cf1..5c5254c5b8e 100644 --- a/libstdc++-v3/config/cpu/s390/atomicity.h +++ b/libstdc++-v3/config/cpu/s390/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: S/390 version -*- C++ -*- -// Copyright (C) 2001 Free Software Foundation, Inc. +// Copyright (C) 2001, 2003 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -34,7 +34,7 @@ typedef int _Atomic_word; static inline _Atomic_word __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word *__mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { register _Atomic_word __old_val, __new_val; @@ -50,9 +50,9 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val) static inline void __attribute__ ((__unused__)) -__atomic_add (volatile _Atomic_word *__mem, int __val) +__atomic_add(volatile _Atomic_word* __mem, int __val) { - __exchange_and_add (__mem, __val); + __exchange_and_add(__mem, __val); } #endif /* atomicity.h */ diff --git a/libstdc++-v3/config/cpu/sparc/atomicity.h b/libstdc++-v3/config/cpu/sparc/atomicity.h index 93e3dff5195..1caf344ebac 100644 --- a/libstdc++-v3/config/cpu/sparc/atomicity.h +++ b/libstdc++-v3/config/cpu/sparc/atomicity.h @@ -36,7 +36,7 @@ typedef long _Atomic_word; static inline _Atomic_word __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word *__mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { _Atomic_word __tmp1, __tmp2; _Atomic_word __val_extended = __val; @@ -55,7 +55,7 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val) static inline void __attribute__ ((__unused__)) -__atomic_add (volatile _Atomic_word* __mem, int __val) +__atomic_add(volatile _Atomic_word* __mem, int __val) { _Atomic_word __tmp1, __tmp2; _Atomic_word __val_extended = __val; @@ -75,20 +75,20 @@ __atomic_add (volatile _Atomic_word* __mem, int __val) typedef int _Atomic_word; -template -struct __Atomicity_lock -{ - static unsigned char _S_atomicity_lock; -}; +template + struct __Atomicity_lock + { + static unsigned char _S_atomicity_lock; + }; -template +template unsigned char __Atomicity_lock<__inst>::_S_atomicity_lock = 0; template unsigned char __Atomicity_lock<0>::_S_atomicity_lock; static int __attribute__ ((__unused__)) -__exchange_and_add (volatile _Atomic_word* __mem, int __val) +__exchange_and_add(volatile _Atomic_word* __mem, int __val) { _Atomic_word __result, __tmp; @@ -110,7 +110,7 @@ __exchange_and_add (volatile _Atomic_word* __mem, int __val) static void __attribute__ ((__unused__)) -__atomic_add (volatile _Atomic_word* __mem, int __val) +__atomic_add(volatile _Atomic_word* __mem, int __val) { _Atomic_word __tmp; diff --git a/libstdc++-v3/config/linker-map.gnu b/libstdc++-v3/config/linker-map.gnu index 671e42148ee..2ae6742227f 100644 --- a/libstdc++-v3/config/linker-map.gnu +++ b/libstdc++-v3/config/linker-map.gnu @@ -27,7 +27,16 @@ GLIBCXX_3.4 { # Names inside the 'extern' block are demangled names. extern "C++" { - std::[A-Za-k]*; + std::[A-Za-h]*; + std::i[a-n]*; + std::ios_base::[A-Ha-z]*; + std::ios_base::_M_grow_words*; + std::ios_base::_M_init*; + std::ios_base::Init::[A-Za-z]*; + std::ios_base::Init::_S_initialized*; + std::ios_base::[J-Za-z]*; + std::i[p-z]*; + std::[A-Zj-k]*; std::length_error*; std::logic_error*; std::locale::[A-Za-e]*; @@ -96,6 +105,10 @@ GLIBCXX_3.4 { _ZNSt6locale5_ImplC*; _ZNSt6locale5_ImplD*; + # std::ios_base, std::ios_base::Init destructors + _ZNSt8ios_baseD*; + _ZNSt8ios_base4InitD*; + # bool has_facet _ZSt9has_facet*;