map<string,set<strin> > compilation problem

M

Marcelo Pinto

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_Select1stIS7_ES4_SaIS7
_EE11lower_boundERS1_;2A.1318:_ZNKSt8_Rb_treeISsSt4pairIKSsSt3s
etISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaIS7_EE11lower_b
oundERS1_;2B.;upper_bound::1317:_ZNSt8_Rb_treeISsSt4pairIKSsSt3
setISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaIS7_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
 
V

Victor Bazarov

Marcelo Pinto said:
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_Select1stIS7_ES4_SaIS7
_EE11lower_boundERS1_;2A.1318:_ZNKSt8_Rb_treeISsSt4pairIKSsSt3s
etISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaIS7_EE11lower_b
oundERS1_;2B.;upper_bound::1317:_ZNSt8_Rb_treeISsSt4pairIKSsSt3
setISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaIS7_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?

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
 
M

Marcelo Pinto

Victor Bazarov said:
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

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
 
V

Victor Bazarov

Marcelo said:
Victor Bazarov said:
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


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?

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
 
M

Marc

Marcelo said:
mips-tfile, /tmp/cceNEN7W.s:286 String too big (5071 bytes)
line: #.stabs "lower_bound::1317:_ZNSt8_Rb_treeISsSt4
pairIKSsSt3setISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaIS7
_EE11lower_boundERS1_;2A.1318:_ZNKSt8_Rb_treeISsSt4pairIKSsSt3s
etISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaIS7_EE11lower_b
oundERS1_;2B.;upper_bound::1317:_ZNSt8_Rb_treeISsSt4pairIKSsSt3
setISsSt4lessISsESaISsEEESt10_Select1stIS7_ES4_SaIS7_EE11upper_
boundERS1_;2A.1318

I am using gcc 3.0.2 on a Tru64 machine.

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

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top