- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Very good, I will ignore it until I get such an error in which I will probably have forgotten this conversation :)

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page