This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
c++/176: Re: C++ automatic template instantiation?
- To: gcc-gnats at gcc dot gnu dot org
- Subject: c++/176: Re: C++ automatic template instantiation?
- From: "Martin v. Loewis" <martin at loewis dot home dot cs dot tu-berlin dot de>
- Date: Thu, 20 Apr 2000 08:58:24 +0200
- References: <200004192022.NAA16570@kankakee.wrs.com> <14590.8851.229295.681640@data.ecora.com>
- Resent-Cc: gcc-prs at gcc dot gnu dot org, tudor dot hulubei at ecora dot com
- Resent-Reply-To: gcc-gnats@gcc.gnu.org, "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>
>Number: 176
>Category: c++
>Synopsis: -frepo not working
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: analyzed
>Class: wrong-code
>Submitter-Id: net
>Arrival-Date: Thu Apr 20 00:06:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: Tudor Hulubei <tudor.hulubei@ecora.com>
>Release: 2.95.2
>Organization:
ecora.com
>Environment:
>Description:
Original-Message-ID: <14590.8851.229295.681640@data.ecora.com>
Date: Wed, 19 Apr 2000 17:18:11 -0400 (EDT)
Here is one. Please notice that subsequent invocations of "c++ t.o"
generate different error messages.
Tudor
RedHat Linux 6.2,
Reading specs from /home/tudor/opt/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/specs
gcc version 2.95.2 19991024 (release)
stack.cc:
#include <stack>
int main() { stack<int> x; }
[tudor@data]:~ $ c++ -frepo -c t.cc
[tudor@data]:~ $ c++ t.o
collect: recompiling t.cc
collect: relinking
t.o: In function `deque<int, allocator<int>, 0>::~deque(void)':
t.o(.text+0x51): undefined reference to `_Deque_base<int, allocator<int>, 0>::~_Deque_base(void)'
t.o: In function `_Deque_base<int, allocator<int>, 0>::_Deque_base(allocator<int> const &, unsigned int)':
t.o(.text+0xa7): undefined reference to `_Deque_base<int, allocator<int>, 0>::_M_initialize_map(unsigned int)'
t.o: In function `deque<int, allocator<int>, 0>::deque(allocator<int> const &)':
t.o(.text+0xf7): undefined reference to `_Deque_base<int, allocator<int>, 0>::~_Deque_base(void)'
collect2: ld returned 1 exit status
[tudor@data]:~ $ c++ t.o
collect: recompiling t.cc
collect: relinking
t.o: In function `_Deque_base<int, allocator<int>, 0>::~_Deque_base(void)':
t.o(.text+0x83): undefined reference to `_Deque_base<int, allocator<int>, 0>::_M_destroy_nodes(int **, int **)'
t.o: In function `_Deque_base<int, allocator<int>, 0>::_M_initialize_map(unsigned int)':
t.o(.text+0x169): undefined reference to `_Deque_base<int, allocator<int>, 0>::_M_create_nodes(int **, int **)'
collect2: ld returned 1 exit status
[tudor@data]:~ $ c++ t.o
collect: recompiling t.cc
collect: relinking
t.o: In function `deque<int, allocator<int>, 0>::~deque(void)':
t.o(.gnu.linkonce.t._._t5deque3ZiZt9allocator1ZiUi0+0x51): undefined reference to `_Deque_base<int, allocator<int>, 0>::~_Deque_base(void)'
t.o: In function `deque<int, allocator<int>, 0>::deque(allocator<int> const &)':
t.o(.deque<int, allocator<int>, 0>::gnu.linkonce.t.(allocator<int> const &)+0x37): undefined reference to `_Deque_base<int, allocator<int>, 0>::~_Deque_base(void)'
t.o: In function `_Deque_base<int, allocator<int>, 0>::_Deque_base(allocator<int> const &, unsigned int)':
t.o(._Deque_base<int, allocator<int>, 0>::gnu.linkonce.t.(allocator<int> const &, unsigned int)+0x43): undefined reference to `_Deque_base<int, allocator<int>, 0>::_M_initialize_map(unsigned int)'
collect2: ld returned 1 exit status
[tudor@data]:~ $ c++ t.o
collect: recompiling t.cc
collect: relinking
t.o: In function `_Deque_base<int, allocator<int>, 0>::~_Deque_base(void)':
t.o(.text+0x19b): undefined reference to `_Deque_base<int, allocator<int>, 0>::_M_destroy_nodes(int **, int **)'
t.o: In function `_Deque_base<int, allocator<int>, 0>::_M_initialize_map(unsigned int)':
t.o(.text+0x285): undefined reference to `_Deque_base<int, allocator<int>, 0>::_M_create_nodes(int **, int **)'
collect2: ld returned 1 exit status
[tudor@data]:~ $
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: