Community
cancel
Showing results for 
Search instead for 
Did you mean: 
jamiecook
Beginner
462 Views

Decorated name length exceeded, name was truncated

Jump to solution
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
462 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

5 Replies
Mark_S_Intel1
Employee
462 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
Judith_W_Intel
Employee
462 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
jamiecook
Beginner
462 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?
Judith_W_Intel
Employee
463 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

jamiecook
Beginner
462 Views
Very good, I will ignore it until I get such an error in which I will probably have forgotten this conversation :)
Reply