aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/src
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2003-10-09 21:17:11 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2003-10-09 21:17:11 +0000
commit5aaa21080b72d6e54774437d5f0082eb29f199af (patch)
treea8c4cc82d879d7cf0dcff2dcfbe1038425f7ae4c /libstdc++-v3/src
parentb0c6e48ff6e7876e373c5b491f34b10062dc721a (diff)
downloadgcc-5aaa21080b72d6e54774437d5f0082eb29f199af.zip
gcc-5aaa21080b72d6e54774437d5f0082eb29f199af.tar.gz
gcc-5aaa21080b72d6e54774437d5f0082eb29f199af.tar.bz2
linker-map.gnu: Make more *_type_info bits visible.
2003-10-09 Benjamin Kosnik <bkoz@redhat.com> * config/linker-map.gnu: Make more *_type_info bits visible. Move new/delete bits back into GLIBCXX space. * include/bits/locale_classes.h: Move _M_id out of line, so that locale::id::_S_highwater can be removed from the export list. * src/locale.cc (locale::id::_M_id): Define. From-SVN: r72287
Diffstat (limited to 'libstdc++-v3/src')
-rw-r--r--libstdc++-v3/src/locale.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/libstdc++-v3/src/locale.cc b/libstdc++-v3/src/locale.cc
index 7c1e8ab..f5b3604 100644
--- a/libstdc++-v3/src/locale.cc
+++ b/libstdc++-v3/src/locale.cc
@@ -68,6 +68,14 @@ namespace std
__gthread_once_t locale::_S_once = __GTHREAD_ONCE_INIT;
#endif
+ size_t
+ locale::id::_M_id() const
+ {
+ if (!_M_index)
+ _M_index = 1 + __exchange_and_add(&_S_highwater, 1);
+ return _M_index - 1;
+ }
+
// Definitions for static const data members of locale::id
_Atomic_word locale::id::_S_highwater; // init'd to 0 by linker