Visual C++ warning for boost::hash<std::size_t>
When compiling for 32 bit windows, Visual C++ warns that boost::hash<std::size_t> won't work for 64 bit windows because it doesn't supply an overload for the 64-bit std::size_t
. It actually does, but the 32 bit compile doesn't see it as it's only included when compiling for 64-bit windows. So the warning is wrong in this case. But it is generally useful so it's a good idea to avoid it. For a full description of the problem, see Joaquín's mail.
The proper solution is to add full support for long long
- which has been in HEAD for some time. But if it isn't possible to add that to the post 1.34 release, a temporary fix will be to add the pragmas suggested by Joaquín. It would also be a good idea to clean up a mostly harmless inconsistency between the declaration and definition of the 64-bit std::size_t
hash_value.
Change History
(8)
Milestone: |
→ Boost 1.34.1
|
Owner: |
changed from - to Daniel James
|
Severity: |
→ Problem
|
Version: |
→ release 1.34.0
|
Owner: |
changed from Daniel James to Thomas Witt
|
Component: |
functional → hash
|
Resolution: |
→ fixed
|
Status: |
assigned → closed
|
Patch that hopefully fixes this.