Commit c0c07358 authored by Brad King's avatar Brad King

KWSys: __int64 and long long may be same type in specialization

For the specialization of hash<>(), the types long long and __int64
may be the same type. While the CMakeLists indicate that if __int64 is
a alias for another type the it will not be enabled, on mingw they
both appear to be the same type and enabled.

This patch only enable specialization for long long OR __int64 to
avoid the potential conflict.

Author: Bradley Lowekamp <blowekamp@mail.nih.gov>
Change-Id: I813a9ac008b296fab5a369c48e6dd5460fd0c035
parent b277208e
......@@ -110,6 +110,7 @@ struct hash<unsigned long> {
size_t operator()(unsigned long __x) const { return __x; }
};
// use long long or __int64
#if @KWSYS_NAMESPACE@_USE_LONG_LONG
@KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
struct hash<long long> {
......@@ -120,9 +121,7 @@ struct hash<long long> {
struct hash<unsigned long long> {
size_t operator()(unsigned long long __x) const { return __x; }
};
#endif
#if @KWSYS_NAMESPACE@_USE___INT64
#elif @KWSYS_NAMESPACE@_USE___INT64
@KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
struct hash<__int64> {
size_t operator()(__int64 __x) const { return __x; }
......@@ -131,7 +130,7 @@ struct hash<__int64> {
struct hash<unsigned __int64> {
size_t operator()(unsigned __int64 __x) const { return __x; }
};
#endif
#endif // use long long or __int64
} // namespace @KWSYS_NAMESPACE@
......
......@@ -18,4 +18,4 @@ SET(KWSYS_DATE_STAMP_YEAR 2011)
SET(KWSYS_DATE_STAMP_MONTH 08)
# KWSys version date day component. Format is DD.
SET(KWSYS_DATE_STAMP_DAY 08)
SET(KWSYS_DATE_STAMP_DAY 09)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment