Connecting Tech Pros Worldwide Forums | Help | Site Map

map<string,set<strin> > compilation problem

Marcelo Pinto
Guest
 
Posts: n/a
#1: Jul 22 '05
Hi all,

In a class of mine I tried to use the following member:

std::map<std::string, std::set<std::string> > m_files;

but I recieved the following error message:

mips-tfile, /tmp/cceNEN7W.s:286 String too big (5071 bytes)
line: #.stabs "lower_bound::1317:_ZNSt8_Rb_treeISsSt4
pairIKSsSt3setISsSt4lessISsESaISsEEESt10_Select1st IS7_ES4_SaIS7
_EE11lower_boundERS1_;2A.1318:_ZNKSt8_Rb_treeISsSt 4pairIKSsSt3s
etISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaIS 7_EE11lower_b
oundERS1_;2B.;upper_bound::1317:_ZNSt8_Rb_treeISsS t4pairIKSsSt3
setISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaI S7_EE11upper_
boundERS1_;2A.1318

and the message continues in this criptographic pattern for more 30 or 40 lines.

I am using gcc 3.0.2 on a Tru64 machine.

Did I do something wrong? Is this expected? Is there a workaround?

Thanks.

Marcelo Pinto

Victor Bazarov
Guest
 
Posts: n/a
#2: Jul 22 '05

re: map<string,set<strin> > compilation problem


"Marcelo Pinto" <mpinto@brturbo.com> wrote...[color=blue]
> In a class of mine I tried to use the following member:
>
> std::map<std::string, std::set<std::string> > m_files;
>
> but I recieved the following error message:
>
> mips-tfile, /tmp/cceNEN7W.s:286 String too big (5071 bytes)
> line: #.stabs "lower_bound::1317:_ZNSt8_Rb_treeISsSt4
> pairIKSsSt3setISsSt4lessISsESaISsEEESt10_Select1st IS7_ES4_SaIS7
> _EE11lower_boundERS1_;2A.1318:_ZNKSt8_Rb_treeISsSt 4pairIKSsSt3s
> etISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaIS 7_EE11lower_b
> oundERS1_;2B.;upper_bound::1317:_ZNSt8_Rb_treeISsS t4pairIKSsSt3
> setISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaI S7_EE11upper_
> boundERS1_;2A.1318
>
> and the message continues in this criptographic pattern for more 30 or 40[/color]
lines.[color=blue]
>
> I am using gcc 3.0.2 on a Tru64 machine.
>
> Did I do something wrong? Is this expected? Is there a workaround?[/color]

Try the usual typedef workaround:

typedef std::string str;
typedef std::set<str> strset;
typedef std::map<str, strset> strsetmap;

and then

strsetmap m_files;

HTH

Victor


Marcelo Pinto
Guest
 
Posts: n/a
#3: Jul 22 '05

re: map<string,set<strin> > compilation problem


"Victor Bazarov" <v.Abazarov@comAcast.net> wrote in message news:<6BiLc.128796$a24.30465@attbi_s03>...[color=blue]
>
> Try the usual typedef workaround:
>
> typedef std::string str;
> typedef std::set<str> strset;
> typedef std::map<str, strset> strsetmap;
>
> and then
>
> strsetmap m_files;
>
> HTH
>
> Victor[/color]

I tryed your sugestion and it didn't work.
[OT]
Then I realized that if I didn't use the -g option the source get
compiled just fine.

Are you aware of the reason why this is so?

[/OT]

Thanks,

Marcelo Pinto
Victor Bazarov
Guest
 
Posts: n/a
#4: Jul 22 '05

re: map<string,set<strin> > compilation problem


Marcelo Pinto wrote:[color=blue]
> "Victor Bazarov" <v.Abazarov@comAcast.net> wrote in message news:<6BiLc.128796$a24.30465@attbi_s03>...
>[color=green]
>>Try the usual typedef workaround:
>>
>> typedef std::string str;
>> typedef std::set<str> strset;
>> typedef std::map<str, strset> strsetmap;
>>
>>and then
>>
>> strsetmap m_files;
>>
>>HTH
>>
>>Victor[/color]
>
>
> I tryed your sugestion and it didn't work.
> [OT]
> Then I realized that if I didn't use the -g option the source get
> compiled just fine.
>
> Are you aware of the reason why this is so?[/color]

No, nor is it topical to comp.lang.c++. Try a newsgroup for your
compiler. Compiler options, name mangling, format of object files,
and so on, are not language-defined.

If there is no newsgroup that deals with your compiler, try the one
that deals with your OS. If none exists, try the technical support
for your compiler or/and OS.

V
Marc
Guest
 
Posts: n/a
#5: Jul 22 '05

re: map<string,set<strin> > compilation problem


Marcelo Pinto wrote:
[color=blue]
> mips-tfile, /tmp/cceNEN7W.s:286 String too big (5071 bytes)
> line: #.stabs "lower_bound::1317:_ZNSt8_Rb_treeISsSt4
> pairIKSsSt3setISsSt4lessISsESaISsEEESt10_Select1st IS7_ES4_SaIS7
> _EE11lower_boundERS1_;2A.1318:_ZNKSt8_Rb_treeISsSt 4pairIKSsSt3s
> etISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaIS 7_EE11lower_b
> oundERS1_;2B.;upper_bound::1317:_ZNSt8_Rb_treeISsS t4pairIKSsSt3
> setISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaI S7_EE11upper_
> boundERS1_;2A.1318
>
> I am using gcc 3.0.2 on a Tru64 machine.[/color]

This gcc bug was corrected in may 2003, you should upgrade your
compiler.
Closed Thread