Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7944 Discussions

Decorated name length exceeded, name was truncated

jamiecook
Beginner
1,757 Views
Compiling boost 1.42 with the newest intel C++ compiler and I get this error when using the BOOST_FOREACH macro
1>D:\\BDK\\Source\\deps\\boost_1_42_0\\boost\\foreach.hpp(210): warning #2586: 'and_' : decorated name length exceeded, name was truncated
1> inline boost::mpl::and_ *and_(Bool1 *, Bool2 *) { return 0; }
1> ^
1>
1>D:\\BDK\\Source\\deps\\boost_1_42_0\\boost\\foreach.hpp(216): warning #2586: 'or_' : decorated name length exceeded, name was truncated
1> inline boost::mpl::or_ *or_(Bool1 *, Bool2 *) { return 0; }
Any thoughts on why this is happening? Information on the internet says it's a problem that was fixed in MSVC version 6.0
0 Kudos
1 Solution
Judith_W_Intel
Employee
1,757 Views

We fixed abug to emulate Microsoft in 12.0 (we were not implementing this hashing and thus were link incompatible with MSVC++).When we implemented the hashingwe also added the warning.

Yes it's generally safe to ignore this warning unless you see a multiply defined link error, because of course there's always the danger that two hashes of different names will result in the symbol.

View solution in original post

0 Kudos
5 Replies
Mark_S_Intel1
Employee
1,757 Views
I see the warnings but not errors.
Can you create a preprocessed (.i file) by adding /P to your compilation options and send the .i file along with full compilation options you are using?

Thanks,
--mark
0 Kudos
Judith_W_Intel
Employee
1,757 Views

No, this was not fixed in MSVC++ version 6.0.

Intel, just like all versions of Microsoft, truncates along name (longer then 4096) to 256 with MD5 hash code. This warningis described in the Microsoft Visual Studio 2005 documentation here:

http://msdn.microsoft.com/en-us/library/074af4b6(VS.80).aspx
0 Kudos
jamiecook
Beginner
1,757 Views
Right, so why does this not generate a warning with version 11.1 but does generate one with version 12.0?
I'm guessing it's a warning that is safe to ignore?
0 Kudos
Judith_W_Intel
Employee
1,758 Views

We fixed abug to emulate Microsoft in 12.0 (we were not implementing this hashing and thus were link incompatible with MSVC++).When we implemented the hashingwe also added the warning.

Yes it's generally safe to ignore this warning unless you see a multiply defined link error, because of course there's always the danger that two hashes of different names will result in the symbol.
0 Kudos
jamiecook
Beginner
1,757 Views
Very good, I will ignore it until I get such an error in which I will probably have forgotten this conversation :)
0 Kudos
Reply