public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/8964: 2 different templates mangled with the same name
@ 2002-12-16 13:06 catherin
0 siblings, 0 replies; 4+ messages in thread
From: catherin @ 2002-12-16 13:06 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/8964; it has been noted by GNATS.
From: catherin@ca.ibm.com
To: bangerth@dealii.org, catherin@ca.ibm.com, gcc-bugs@gcc.gnu.org,
gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Cc:
Subject: Re: c++/8964: 2 different templates mangled with the same name
Date: Mon, 16 Dec 2002 15:57:59 -0500
Do you know if the change for 3.3 was because of an ABI change ?
-----
Catherine Morton
VAC++ Kernel Development
catherin@ca.ibm.com
(905) 413-4328
bangerth@dealii.o
rg To: Catherine Morton/Toronto/IBM@IBMCA, gcc-bugs@gcc.gnu.org,
gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org
12/16/2002 03:29 cc:
PM Subject: Re: c++/8964: 2 different templates mangled with the same name
Please respond to
bangerth; Please
respond to
Catherine Morton;
Please respond to
gcc-bugs; Please
respond to
gcc-prs; Please
respond to
nobody; Please
respond to
gcc-gnats
Synopsis: 2 different templates mangled with the same name
State-Changed-From-To: open->closed
State-Changed-By: bangerth
State-Changed-When: Mon Dec 16 12:29:06 2002
State-Changed-Why:
This is already fixed in 3.3pre:
tmp/g> /home/bangerth/bin/gcc-3.3-pre/bin/c++ -c x.cc
tmp/g> nm x.o | /home/bangerth/bin/gcc-3.2/bin/c++filt
00000000 W void foo<A>(XX<int, (int)3>::X)
00000000 W void foo<A>(XX<int, (int)4>::X)
U __gxx_personality_v0
00000000 T main
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8964
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: c++/8964: 2 different templates mangled with the same name
@ 2002-12-16 13:06 Wolfgang Bangerth
0 siblings, 0 replies; 4+ messages in thread
From: Wolfgang Bangerth @ 2002-12-16 13:06 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/8964; it has been noted by GNATS.
From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: catherin@ca.ibm.com
Cc: gcc-bugs@gcc.gnu.org, <gcc-gnats@gcc.gnu.org>
Subject: Re: c++/8964: 2 different templates mangled with the same name
Date: Mon, 16 Dec 2002 15:05:23 -0600 (CST)
> Do you know if the change for 3.3 was because of an ABI change ?
Good question. The change was indeed incompatible, so this amounts to an
ABI change. I will reopen the bug an mark it with high priority.
Thanks for pointing this out
Wolfgang
-------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth@ticam.utexas.edu
www: http://www.ticam.utexas.edu/~bangerth
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: c++/8964: 2 different templates mangled with the same name
@ 2002-12-16 12:29 bangerth
0 siblings, 0 replies; 4+ messages in thread
From: bangerth @ 2002-12-16 12:29 UTC (permalink / raw)
To: catherin, gcc-bugs, gcc-prs, nobody
Synopsis: 2 different templates mangled with the same name
State-Changed-From-To: open->closed
State-Changed-By: bangerth
State-Changed-When: Mon Dec 16 12:29:06 2002
State-Changed-Why:
This is already fixed in 3.3pre:
tmp/g> /home/bangerth/bin/gcc-3.3-pre/bin/c++ -c x.cc
tmp/g> nm x.o | /home/bangerth/bin/gcc-3.2/bin/c++filt
00000000 W void foo<A>(XX<int, (int)3>::X)
00000000 W void foo<A>(XX<int, (int)4>::X)
U __gxx_personality_v0
00000000 T main
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8964
^ permalink raw reply [flat|nested] 4+ messages in thread
* c++/8964: 2 different templates mangled with the same name
@ 2002-12-16 11:56 catherin
0 siblings, 0 replies; 4+ messages in thread
From: catherin @ 2002-12-16 11:56 UTC (permalink / raw)
To: gcc-gnats
>Number: 8964
>Category: c++
>Synopsis: 2 different templates mangled with the same name
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Dec 16 11:56:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Catherine Morton
>Release: g++ 3.2
>Organization:
>Environment:
Reading specs from /usr/lib/gcc-lib/powerpc-suse-linux/3.2/specs
Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --enable-languages=c,c++,f77,objc,java,ada --enable-libgcj --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit powerpc-suse-linux
Thread model: posix
gcc version 3.2
>Description:
// -------- c.cpp ---------
struct bus{};
template < class T,int I > struct A
{
typedef bus X;
};
template<class T> struct A<T,3>
{
typedef char X;
};
template <template <class B,int I> class XX> void foo(typename XX<int,3>::X a){}
template <template <class B,int I> class XX> void foo(typename XX<int,4>::X a){}
int main()
{
//A<int> x;
struct bus test;
foo<A>('x');
foo<A>(test);
}
// ------------------------
g++ c.cpp
/nfs/protoss/home/catherin/tmp/ccjWv8pa.s: Assembler messages:
/nfs/protoss/home/catherin/tmp/ccjWv8pa.s:59: Error: symbol `_Z3fooI1AEvN2XX1XE' is already defined
template arguments for template template paramater XX
are not part of the mangled name
_Z3fooI1AEvN2XX1XE
So both instances of foo are mangled with the same name
>How-To-Repeat:
g++ c.cpp
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2002-12-16 21:06 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-16 13:06 c++/8964: 2 different templates mangled with the same name catherin
-- strict thread matches above, loose matches on Subject: below --
2002-12-16 13:06 Wolfgang Bangerth
2002-12-16 12:29 bangerth
2002-12-16 11:56 catherin
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).