public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/15412] New: _GLIBCXX_ symbols symbols defined and used in different namespaces
@ 2004-05-13 13:39 adah at netstd dot com
  2004-05-13 13:53 ` [Bug libstdc++/15412] " pinskia at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: adah at netstd dot com @ 2004-05-13 13:39 UTC (permalink / raw)
  To: gcc-bugs

This short program cannot build:

------------------------------------------------------------------
#include <memory>
#include <ext/pool_allocator.h>

int main()
{
   void* ptr = __gnu_cxx::__pool_alloc<true,0>::allocate(10);
   __gnu_cxx::__pool_alloc<true,0>::deallocate(ptr, 10);
}
------------------------------------------------------------------

A number of link errors will appear:

d:/mingw-gcc3.4/bin/../lib/gcc/mingw32/3.4.0/../../../libstdc++.a(allocator.o)
(.text$_ZN9__gnu_cxx12__pool_allocILb1ELi0EE5_LockC1Ev+0x31):allocator.cc: 
undefined reference to `__gnu_cxx::_GLIBCXX_mutex_address'
d:/mingw-gcc3.4/bin/../lib/gcc/mingw32/3.4.0/../../../libstdc++.a(allocator.o)
(.text$_ZN9__gnu_cxx12__pool_allocILb1ELi0EE5_LockC1Ev+0x4c):allocator.cc: 
undefined reference to `__gnu_cxx::_GLIBCXX_mutex'
d:/mingw-gcc3.4/bin/../lib/gcc/mingw32/3.4.0/../../../libstdc++.a(allocator.o)
(.text$_ZN9__gnu_cxx12__pool_allocILb1ELi0EE5_LockC1Ev+0x84):allocator.cc: 
undefined reference to `__gnu_cxx::_GLIBCXX_once'
d:/mingw-gcc3.4/bin/../lib/gcc/mingw32/3.4.0/../../../libstdc++.a(allocator.o)
(.text$_ZN9__gnu_cxx12__pool_allocILb1ELi0EE5_LockC1Ev+0x89):allocator.cc: 
undefined reference to `__gnu_cxx::_GLIBCXX_mutex_init()'
...

The cause is that libstdc++-v3/include/bits/stl_threads.h references these 
symbols in namespace `__gnu_cxx', and libstdc++-v3/src/globals_io.cc defines 
them in namespace `__gnu_internal'.  It seems to affect all platforms.

-- 
           Summary: _GLIBCXX_ symbols symbols defined and used in different
                    namespaces
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P1
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: adah at netstd dot com
                CC: dannysmith at clear dot net dot nz,gcc-bugs at gcc dot
                    gnu dot org
  GCC host triplet: mingw32
GCC target triplet: mingw32


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15412


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libstdc++/15412] _GLIBCXX_ symbols symbols defined and used in different namespaces
  2004-05-13 13:39 [Bug c++/15412] New: _GLIBCXX_ symbols symbols defined and used in different namespaces adah at netstd dot com
@ 2004-05-13 13:53 ` pinskia at gcc dot gnu dot org
  2004-05-13 13:55 ` [Bug libstdc++/15412] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-05-13 13:53 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-05-13 02:56 -------
Note the template argument for __pool_alloc has changed on the mainline.

And no this does effect all targets, it only not define __GTHREAD_MUTEX_INIT but 
__GTHREAD_MUTEX_INIT_FUNCTION in gthr-*.h

So it is not including them for some reason.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c++                         |libstdc++


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15412


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libstdc++/15412] [3.4/3.5 Regression] _GLIBCXX_ symbols symbols defined and used in different namespaces
  2004-05-13 13:39 [Bug c++/15412] New: _GLIBCXX_ symbols symbols defined and used in different namespaces adah at netstd dot com
  2004-05-13 13:53 ` [Bug libstdc++/15412] " pinskia at gcc dot gnu dot org
@ 2004-05-13 13:55 ` pinskia at gcc dot gnu dot org
  2004-05-14  9:30 ` cvs-commit at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-05-13 13:55 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-05-13 03:04 -------
Confirmed.
Was broken by:
2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>

        * include/ext/mt_allocator.h: Change include to gthr.h.
        * include/ext/rope: Same. Add _Refcount_base definitions.
        * include/ext/pool_allocator.h: Adjust namespaces.
        * include/bits/stl_threads.h (_Refcount_base): Move.
        Put remaining into namespace __gnu_cxx.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bkoz at gcc dot gnu dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
      Known to fail|                            |3.4.0 3.5.0
   Last reconfirmed|0000-00-00 00:00:00         |2004-05-13 03:04:14
               date|                            |
            Summary|_GLIBCXX_ symbols symbols   |[3.4/3.5 Regression]
                   |defined and used in         |_GLIBCXX_ symbols symbols
                   |different namespaces        |defined and used in
                   |                            |different namespaces
   Target Milestone|---                         |3.4.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15412


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libstdc++/15412] [3.4/3.5 Regression] _GLIBCXX_ symbols symbols defined and used in different namespaces
  2004-05-13 13:39 [Bug c++/15412] New: _GLIBCXX_ symbols symbols defined and used in different namespaces adah at netstd dot com
  2004-05-13 13:53 ` [Bug libstdc++/15412] " pinskia at gcc dot gnu dot org
  2004-05-13 13:55 ` [Bug libstdc++/15412] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
@ 2004-05-14  9:30 ` cvs-commit at gcc dot gnu dot org
  2004-05-14  9:35 ` bkoz at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-05-14  9:30 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-05-13 14:54 -------
Subject: Bug 15412

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	bkoz@gcc.gnu.org	2004-05-13 14:54:25

Modified files:
	libstdc++-v3   : ChangeLog 
	libstdc++-v3/include/bits: stl_threads.h 

Log message:
	2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
	
	PR libstdc++/15412
	* include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
	__gnu_internal.
	(_GLIBCXX_mutex_address): Same.
	(_GLIBCXX_once): Same.
	(_GLIBCXX_mutex_init): Same.
	(_GLIBCXX_mutex_address_init): Same.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.2469&r2=1.2470
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_threads.h.diff?cvsroot=gcc&r1=1.21&r2=1.22



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15412


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libstdc++/15412] [3.4/3.5 Regression] _GLIBCXX_ symbols symbols defined and used in different namespaces
  2004-05-13 13:39 [Bug c++/15412] New: _GLIBCXX_ symbols symbols defined and used in different namespaces adah at netstd dot com
                   ` (2 preceding siblings ...)
  2004-05-14  9:30 ` cvs-commit at gcc dot gnu dot org
@ 2004-05-14  9:35 ` bkoz at gcc dot gnu dot org
  2004-05-14 10:54 ` cvs-commit at gcc dot gnu dot org
  2004-05-18 16:07 ` bkoz at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2004-05-14  9:35 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bkoz at gcc dot gnu dot org  2004-05-13 14:58 -------

This is now fixed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |bkoz at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15412


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libstdc++/15412] [3.4/3.5 Regression] _GLIBCXX_ symbols symbols defined and used in different namespaces
  2004-05-13 13:39 [Bug c++/15412] New: _GLIBCXX_ symbols symbols defined and used in different namespaces adah at netstd dot com
                   ` (3 preceding siblings ...)
  2004-05-14  9:35 ` bkoz at gcc dot gnu dot org
@ 2004-05-14 10:54 ` cvs-commit at gcc dot gnu dot org
  2004-05-18 16:07 ` bkoz at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-05-14 10:54 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-05-13 15:26 -------
Subject: Bug 15412

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	bkoz@gcc.gnu.org	2004-05-13 15:25:54

Modified files:
	libstdc++-v3   : ChangeLog 
	libstdc++-v3/include/bits: stl_threads.h 

Log message:
	2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
	
	PR libstdc++/15412
	* include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
	__gnu_internal.
	(_GLIBCXX_mutex_address): Same.
	(_GLIBCXX_once): Same.
	(_GLIBCXX_mutex_init): Same.
	(_GLIBCXX_mutex_address_init): Same.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.2224.2.97&r2=1.2224.2.98
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_threads.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.20.10.1&r2=1.20.10.2



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15412


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug libstdc++/15412] [3.4/3.5 Regression] _GLIBCXX_ symbols symbols defined and used in different namespaces
  2004-05-13 13:39 [Bug c++/15412] New: _GLIBCXX_ symbols symbols defined and used in different namespaces adah at netstd dot com
                   ` (4 preceding siblings ...)
  2004-05-14 10:54 ` cvs-commit at gcc dot gnu dot org
@ 2004-05-18 16:07 ` bkoz at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2004-05-18 16:07 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bkoz at gcc dot gnu dot org  2004-05-18 01:19 -------

If, for some strange reason, this is not fixed, please re-open.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15412


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-05-18  1:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-05-13 13:39 [Bug c++/15412] New: _GLIBCXX_ symbols symbols defined and used in different namespaces adah at netstd dot com
2004-05-13 13:53 ` [Bug libstdc++/15412] " pinskia at gcc dot gnu dot org
2004-05-13 13:55 ` [Bug libstdc++/15412] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
2004-05-14  9:30 ` cvs-commit at gcc dot gnu dot org
2004-05-14  9:35 ` bkoz at gcc dot gnu dot org
2004-05-14 10:54 ` cvs-commit at gcc dot gnu dot org
2004-05-18 16:07 ` bkoz at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).