From 6e207619f74265bb15f772063c3131ff78af3c70 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 27 Oct 2019 19:46:59 +0100 Subject: [PATCH] 64-bit mingw port: Avoid ambiguous overload error due to cl_[su]int change. --- include/cln/object.h | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/include/cln/object.h b/include/cln/object.h index 3f5db3c..f6da29f 100644 --- a/include/cln/object.h +++ b/include/cln/object.h @@ -111,25 +111,28 @@ inline cl_uint cl_value (cl_uint word) } // Return a word, combining a value and a tag. -inline cl_uint cl_combine (cl_uint tag, cl_uint value) +inline cl_uint cl_combine_impl (cl_uint tag, cl_uint value) { return (value << cl_value_shift) + (tag << cl_tag_shift); } -inline cl_uint cl_combine (cl_uint tag, cl_sint value) +inline cl_uint cl_combine_impl (cl_uint tag, cl_sint value) { // This assumes cl_value_shift + cl_value_len == cl_pointer_size. return (value << cl_value_shift) + (tag << cl_tag_shift); } -// Keep the compiler happy. inline cl_uint cl_combine (cl_uint tag, unsigned int value) -{ return cl_combine(tag, (cl_uint)value); } +{ return cl_combine_impl(tag, (cl_uint)value); } inline cl_uint cl_combine (cl_uint tag, int value) -{ return cl_combine(tag, (cl_sint)value); } +{ return cl_combine_impl(tag, (cl_sint)value); } +inline cl_uint cl_combine (cl_uint tag, unsigned long value) +{ return cl_combine_impl(tag, (cl_uint)value); } +inline cl_uint cl_combine (cl_uint tag, long value) +{ return cl_combine_impl(tag, (cl_sint)value); } #ifdef HAVE_LONGLONG inline cl_uint cl_combine (cl_uint tag, unsigned long long value) -{ return cl_combine(tag, (cl_uint)value); } +{ return cl_combine_impl(tag, (cl_uint)value); } inline cl_uint cl_combine (cl_uint tag, long long value) -{ return cl_combine(tag, (cl_uint)value); } +{ return cl_combine_impl(tag, (cl_uint)value); } #endif // Definition of the tags. -- 2.49.0