Updated make_signed and make_unsigned for Clang fixes

This commit is contained in:
Christophe Riccio 2014-11-15 23:12:20 +01:00
parent 18b8e2fd4a
commit de5dd23d2f

View File

@ -136,6 +136,30 @@ namespace detail
typedef int64 type; typedef int64 type;
}; };
template <>
struct make_signed<long>
{
typedef long type;
};
template <>
struct make_signed<long long>
{
typedef long long type;
};
template <>
struct make_signed<unsigned long>
{
typedef long type;
};
template <>
struct make_signed<unsigned long long>
{
typedef long long type;
};
template <typename genType> template <typename genType>
struct make_unsigned struct make_unsigned
{}; {};
@ -187,6 +211,30 @@ namespace detail
{ {
typedef uint64 type; typedef uint64 type;
}; };
template <>
struct make_unsigned<long>
{
typedef unsigned long type;
};
template <>
struct make_unsigned<long long>
{
typedef unsigned long long type;
};
template <>
struct make_unsigned<unsigned long>
{
typedef unsigned long type;
};
template <>
struct make_unsigned<unsigned long long>
{
typedef unsigned long long type;
};
}//namespace detail }//namespace detail
typedef detail::int8 int8; typedef detail::int8 int8;