This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/24331] New: The symbol properties of generated C++ code depend on the position of template instantiations
- From: "O dot Kayser-Herold at tu-bs dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Oct 2005 14:16:33 -0000
- Subject: [Bug c++/24331] New: The symbol properties of generated C++ code depend on the position of template instantiations
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Generating an object file with "g++ -c test.cc" for the following code snippet:
----------
template <int> void f() {}
int g() { f<1> (); }
template void f<1> ();
----------
"nm -gm test.o" returns:
000000ac (__TEXT,__eh_frame) weak private external _Z1fILi1EEvv.eh
00000084 (__TEXT,__eh_frame) external _Z1gv.eh
00000050 (__TEXT,__textcoal_nt) weak private external __Z1fILi1EEvv
00000000 (__TEXT,__text) external __Z1gv
(undefined) external ___gxx_personality_v0
(undefined) external dyld_stub_binding_helper
while the same procedure for:
------------------
template <int> void f() {}
template void f<1> ();
int g() { f<1> (); }
------------------
results in:
00000000 (absolute) external [no dead strip] _Z1fILi1EEvv.eh
00000000 (absolute) external [no dead strip] _Z1gv.eh
00000000 (__TEXT,__text) external __Z1fILi1EEvv
00000018 (__TEXT,__text) external __Z1gv
This error could lead to problems in conjunction with the creation of dynamic
libraries.
--
Summary: The symbol properties of generated C++ code depend on
the position of template instantiations
Product: gcc
Version: 3.3
Status: UNCONFIRMED
Severity: minor
Priority: P4
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: O dot Kayser-Herold at tu-bs dot de
GCC build triplet: 20030304 (Apple Computer, Inc. build 1666)
GCC host triplet: powerpc-apple-darwin7.9.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24331