public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined
@ 2004-09-04 19:48 tromey at gcc dot gnu dot org
2004-09-04 19:51 ` [Bug c++/17324] " tromey at gcc dot gnu dot org
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: tromey at gcc dot gnu dot org @ 2004-09-04 19:48 UTC (permalink / raw)
To: gcc-bugs
This is on x86 Red Hat Linux 9.
When compiling my C++ program, some compilations give:
/tmp/ccExlHud.s: Assembler messages:
/tmp/ccExlHud.s:25502: Error: symbol `bRKNS0_IT_SD_EE' is already defined
This didn't happen with the cvs head compiler as of a week or so ago.
fleche. gcc --version
gcc (GCC) 3.5.0 20040904 (experimental)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I'll attach my .ii file.
I compile with:
/home/tromey/gnu/Trunk/install/bin/g++ -g -Wall -Winvalid-pch -Wreturn-type
-D_GLIBCXX_DEBUG -I. -c -o scope.o scope.cc
I ordinarily have a .gch file, however I get the same error if I
remove it.
--
Summary: Error: symbol `bRKNS0_IT_SD_EE' is already defined
Product: gcc
Version: 3.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tromey at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
@ 2004-09-04 19:51 ` tromey at gcc dot gnu dot org
2004-09-07 7:49 ` [Bug c++/17324] [3.5 Regression] " pinskia at gcc dot gnu dot org
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: tromey at gcc dot gnu dot org @ 2004-09-04 19:51 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From tromey at gcc dot gnu dot org 2004-09-04 19:51 -------
Created an attachment (id=7049)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7049&action=view)
.ii file for this bug
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [3.5 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
2004-09-04 19:51 ` [Bug c++/17324] " tromey at gcc dot gnu dot org
@ 2004-09-07 7:49 ` pinskia at gcc dot gnu dot org
2004-09-08 1:05 ` tromey at gcc dot gnu dot org
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-09-07 7:49 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |critical
Keywords| |wrong-code
Summary|Error: symbol |[3.5 Regression] Error:
|`bRKNS0_IT_SD_EE' is already|symbol `bRKNS0_IT_SD_EE' is
|defined |already defined
Target Milestone|--- |3.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [3.5 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
2004-09-04 19:51 ` [Bug c++/17324] " tromey at gcc dot gnu dot org
2004-09-07 7:49 ` [Bug c++/17324] [3.5 Regression] " pinskia at gcc dot gnu dot org
@ 2004-09-08 1:05 ` tromey at gcc dot gnu dot org
2004-09-09 3:22 ` pinskia at gcc dot gnu dot org
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: tromey at gcc dot gnu dot org @ 2004-09-08 1:05 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From tromey at gcc dot gnu dot org 2004-09-08 01:05 -------
FWIW I still get this error after upgrading my OS
to fedora core 2.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [3.5 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
` (2 preceding siblings ...)
2004-09-08 1:05 ` tromey at gcc dot gnu dot org
@ 2004-09-09 3:22 ` pinskia at gcc dot gnu dot org
2004-09-09 3:49 ` mmitchel at gcc dot gnu dot org
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-09-09 3:22 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-09-09 03:22 -------
Okay, who added a symbol length limit into GCC?
I almost think it was this change which caused the problem:
2004-08-25 Mark Mitchell <mark@codesourcery.com>
PR c++/17155
* lex.c (build_lang_decl): Set DECL_NO_STATIC_CHAIN for all C++
functions.
* mangle.c (get_identifier_nocopy): Add cast.
* cp-tree.h (mangle_type): Remove.
* mangle.c (globals): GTY it.
(mangle_obstack): New variable.
(name_obstack): Likewise.
(name_base): Likewise.
(write_char): Adjust accordingly.
(write_chars): Likewise.
(write_string): Likewise.
(start_mangling): Initialize G.substitutions only one. Add
ident_p parameter.
(finish_mangling): Use VARRAY_CLEAR to reclaim
storage in G.substitutions. Use obstack_finish.
(init_mangle): Adjust for changes to variable names above.
Initialize G.substitutions.
(mangle_decl_string): Adjust call to start_mangling.
(get_identifier_nocopy): New function.
(mangle_decl): Use it.
(mangle_type_string): Adjust call to start_mangling.
(mangle_special_for_type): Likewise.
(mangle_vtt_for_type): Likewise.
(mangle_ctor_vtbl_for_type): Likewise.
(mangle_thunk): Likewise.
(mangle_guard_variable): Likewise.
(mangle_ref_init_variable): Likewise.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |mmitchel at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [3.5 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
` (3 preceding siblings ...)
2004-09-09 3:22 ` pinskia at gcc dot gnu dot org
@ 2004-09-09 3:49 ` mmitchel at gcc dot gnu dot org
2004-09-13 23:58 ` [Bug c++/17324] [4.0 " bangerth at dealii dot org
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-09-09 3:49 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-09-09 03:49 -------
That looks like memory being stomped upon somehow. It's definitely possible
that my patch caused this problem, but I'm not seeing how. If you can pin this
down to my patch, please assign it to me, and I'll work it out.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [4.0 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
` (4 preceding siblings ...)
2004-09-09 3:49 ` mmitchel at gcc dot gnu dot org
@ 2004-09-13 23:58 ` bangerth at dealii dot org
2004-09-14 1:18 ` tromey at gcc dot gnu dot org
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: bangerth at dealii dot org @ 2004-09-13 23:58 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-09-13 23:58 -------
I don't know if anyone is suprised by this, but I don't get any
error with a mainline snapshot from 20040809. I'm updating at
present and will try to reproduce this failure.
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [4.0 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
` (5 preceding siblings ...)
2004-09-13 23:58 ` [Bug c++/17324] [4.0 " bangerth at dealii dot org
@ 2004-09-14 1:18 ` tromey at gcc dot gnu dot org
2004-09-14 1:59 ` bangerth at dealii dot org
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: tromey at gcc dot gnu dot org @ 2004-09-14 1:18 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From tromey at gcc dot gnu dot org 2004-09-14 01:18 -------
I just updated and rebuilt:
opsy. ~/gnu/Trunk/install/bin/gcc --version
gcc (GCC) 4.0.0 20040914 (experimental)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
And I still get the error:
/home/tromey/gnu/Trunk/install/bin/g++ -g -Wall -Winvalid-pch -Wreturn-type
-D_GLIBCXX_DEBUG -I. -c -o scope.o scope.cc
/tmp/ccS2Fd7u.s: Assembler messages:
/tmp/ccS2Fd7u.s:25991: Error: symbol `bRKNS0_IT_SD_EE' is already defined
make: *** [scope.o] Error 1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [4.0 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
` (6 preceding siblings ...)
2004-09-14 1:18 ` tromey at gcc dot gnu dot org
@ 2004-09-14 1:59 ` bangerth at dealii dot org
2004-09-14 3:42 ` bangerth at dealii dot org
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: bangerth at dealii dot org @ 2004-09-14 1:59 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-09-14 01:59 -------
OK, I see it now, too. Note that -g isn't actually needed.
W.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-09-14 01:59:32
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [4.0 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
` (7 preceding siblings ...)
2004-09-14 1:59 ` bangerth at dealii dot org
@ 2004-09-14 3:42 ` bangerth at dealii dot org
2004-09-14 3:48 ` pinskia at gcc dot gnu dot org
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: bangerth at dealii dot org @ 2004-09-14 3:42 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-09-14 03:42 -------
This should be sufficiently short for people to fix the problem. I'd
definitely say the code is valid:
---------------------
template <typename _Iterator, typename _Sequence> struct S {
template<typename _Other>
bool foo(const S<_Other, _Sequence> &) {return false;};
};
template <typename _Sequence> struct X {
template<typename _Iterator>
void unrelated(const S<_Iterator, _Sequence>& __x);
};
template<typename T> struct map : X<map<T> > {
typedef S<int, map> iterator;
void clear() { iterator().foo(iterator()); }
};
template<typename T> struct scope {
map<T> undo;
void push () { undo.clear (); }
};
struct A {};
struct B {};
template class scope<A>;
template class scope<B>;
------------------------
g/x> /home/bangerth/bin/gcc-4.0-pre/bin/c++ -c x.ii
/tmp/ccOlRHCN.s: Assembler messages:
/tmp/ccOlRHCN.s:61: Error: symbol `bRKS_IT_S2_E' is already defined
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [4.0 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
` (8 preceding siblings ...)
2004-09-14 3:42 ` bangerth at dealii dot org
@ 2004-09-14 3:48 ` pinskia at gcc dot gnu dot org
2004-09-14 9:23 ` reichelt at gcc dot gnu dot org
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-09-14 3:48 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-09-14 03:48 -------
Using Phil's regression hunter the hard way, I was able to found the dates at which it failed at:
between 3.5.0 20040825 and 3.5.0 20040826 which shows that Mark's patch is more likely now.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [4.0 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
` (9 preceding siblings ...)
2004-09-14 3:48 ` pinskia at gcc dot gnu dot org
@ 2004-09-14 9:23 ` reichelt at gcc dot gnu dot org
2004-09-14 17:06 ` mmitchel at gcc dot gnu dot org
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-09-14 9:23 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From reichelt at gcc dot gnu dot org 2004-09-14 09:23 -------
Here's something shorter:
=================================================
template<int, typename T> struct A
{
template<int I> void foo(const A<I,T>&) {}
};
template<typename> struct B
{
template<int J> void bar(const A<J,B>&);
void baz() { A<0,B>().foo(A<0,B>()); }
};
template struct B<void>;
template struct B<int>;
=================================================
It yields:
/tmp/ccMslYfY.s: Assembler messages:
/tmp/ccMslYfY.s:41: Error: symbol `vRKS_IXT_ES1_E' is already defined
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |reichelt at gcc dot gnu dot
| |org
Keywords| |monitored
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [4.0 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
` (10 preceding siblings ...)
2004-09-14 9:23 ` reichelt at gcc dot gnu dot org
@ 2004-09-14 17:06 ` mmitchel at gcc dot gnu dot org
2004-09-15 3:22 ` cvs-commit at gcc dot gnu dot org
2004-09-15 3:26 ` mmitchel at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-09-14 17:06 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com
|dot org |
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [4.0 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
` (11 preceding siblings ...)
2004-09-14 17:06 ` mmitchel at gcc dot gnu dot org
@ 2004-09-15 3:22 ` cvs-commit at gcc dot gnu dot org
2004-09-15 3:26 ` mmitchel at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-09-15 3:22 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-09-15 03:22 -------
Subject: Bug 17324
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: mmitchel@gcc.gnu.org 2004-09-15 03:22:20
Modified files:
gcc/testsuite : ChangeLog
gcc/cp : ChangeLog mangle.c
Added files:
gcc/testsuite/g++.dg/template: mangle1.C
Log message:
PR c++/17324
* mangle.c (partially_mangled_name): New variable.
(partially_mangled_name_len): Likewise.
(save_partially_mangled_name): New function.
(restore_partially_mangled_name): Likewise.
(write_encoding): Save and restore partially mangled names around
calls to get_mostly_instantiated_function_type.
(write_unqualified_name): Likewise.
PR c++/17324
* g++.dg/template/mangle1.C: New test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4290&r2=1.4291
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/mangle1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4351&r2=1.4352
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/mangle.c.diff?cvsroot=gcc&r1=1.111&r2=1.112
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/17324] [4.0 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
` (12 preceding siblings ...)
2004-09-15 3:22 ` cvs-commit at gcc dot gnu dot org
@ 2004-09-15 3:26 ` mmitchel at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-09-15 3:26 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-09-15 03:26 -------
Fixed in GCC 4.0.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17324
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2004-09-15 3:26 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-04 19:48 [Bug c++/17324] New: Error: symbol `bRKNS0_IT_SD_EE' is already defined tromey at gcc dot gnu dot org
2004-09-04 19:51 ` [Bug c++/17324] " tromey at gcc dot gnu dot org
2004-09-07 7:49 ` [Bug c++/17324] [3.5 Regression] " pinskia at gcc dot gnu dot org
2004-09-08 1:05 ` tromey at gcc dot gnu dot org
2004-09-09 3:22 ` pinskia at gcc dot gnu dot org
2004-09-09 3:49 ` mmitchel at gcc dot gnu dot org
2004-09-13 23:58 ` [Bug c++/17324] [4.0 " bangerth at dealii dot org
2004-09-14 1:18 ` tromey at gcc dot gnu dot org
2004-09-14 1:59 ` bangerth at dealii dot org
2004-09-14 3:42 ` bangerth at dealii dot org
2004-09-14 3:48 ` pinskia at gcc dot gnu dot org
2004-09-14 9:23 ` reichelt at gcc dot gnu dot org
2004-09-14 17:06 ` mmitchel at gcc dot gnu dot org
2004-09-15 3:22 ` cvs-commit at gcc dot gnu dot org
2004-09-15 3:26 ` mmitchel 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).