2020-01-13 00:23:46 +01:00
|
|
|
diff -uNr cln-1.3.6/include/cln/number.h cln-1.3.6.mod/include/cln/number.h
|
|
|
|
--- cln-1.3.6/include/cln/number.h 2019-10-27 20:14:23.000000000 +0200
|
|
|
|
+++ cln-1.3.6.mod/include/cln/number.h 2020-01-13 01:19:07.393932063 +0200
|
|
|
|
@@ -257,8 +257,7 @@
|
|
|
|
inline const type& the(const cl_number& x)
|
|
|
|
{
|
|
|
|
// check that sizeof(type)==sizeof(cl_number)
|
|
|
|
- static_assert(sizeof(type)==sizeof(cl_number),
|
|
|
|
- "sizeof(type)!=sizeof(cl_number)");
|
|
|
|
+ int (*dummy1)(int assertion1 [1 - 2 * (sizeof(type) != sizeof(cl_number))]); (void)dummy1;
|
|
|
|
return *(const type *) &x;
|
|
|
|
}
|
|
|
|
// Conversions to subtypes without checking, macro version:
|
|
|
|
diff -uNr cln-1.3.6/m4/floatparam.m4 cln-1.3.6.mod/m4/floatparam.m4
|
|
|
|
--- cln-1.3.6/m4/floatparam.m4 2019-10-27 20:14:23.000000000 +0200
|
|
|
|
+++ cln-1.3.6.mod/m4/floatparam.m4 2020-01-13 01:19:07.391932056 +0200
|
2019-11-27 10:24:10 +01:00
|
|
|
@@ -22,16 +22,20 @@
|
|
|
|
epsilon_bits=-1; y="($type)1.0"
|
|
|
|
while true; do
|
|
|
|
AC_TRY_COMPILE([],
|
|
|
|
- [static_assert((($type)(($type)1.0 + ($type)($y)) == ($type)1.0)
|
|
|
|
- || ($type)(($type)(($type)1.0 + ($type)($y)) - ($type)1.0) != ($type)($y), "");],
|
|
|
|
+ [typedef int verify[2*(
|
|
|
|
+ (($type)(($type)1.0 + ($type)($y)) == ($type)1.0)
|
|
|
|
+ || ($type)(($type)(($type)1.0 + ($type)($y)) - ($type)1.0) != ($type)($y)
|
|
|
|
+ ) - 1];],
|
|
|
|
[break;])
|
|
|
|
epsilon_bits=`expr $epsilon_bits + 1`; y="$y * ($type)0.5"
|
|
|
|
done
|
|
|
|
negepsilon_bits=-1; y="($type)-1.0"
|
|
|
|
while true; do
|
|
|
|
AC_TRY_COMPILE([],
|
|
|
|
- [static_assert((($type)(($type)1.0 + ($type)($y)) == ($type)1.0)
|
|
|
|
- || ($type)(($type)(($type)1.0 + ($type)($y)) - ($type)1.0) != ($type)($y), "");],
|
|
|
|
+ [typedef int verify[2*(
|
|
|
|
+ (($type)(($type)1.0 + ($type)($y)) == ($type)1.0)
|
|
|
|
+ || ($type)(($type)(($type)1.0 + ($type)($y)) - ($type)1.0) != ($type)($y)
|
|
|
|
+ ) - 1];],
|
|
|
|
[break;])
|
|
|
|
negepsilon_bits=`expr $negepsilon_bits + 1`; y="$y * ($type)0.5"
|
|
|
|
done
|
|
|
|
@@ -64,22 +68,30 @@
|
|
|
|
rounds=
|
|
|
|
if test -z "$rounds"; then
|
|
|
|
AC_TRY_COMPILE([],
|
|
|
|
- [static_assert($ys1 == $y1 && $ys2 == $y2 && $zs1 == $z1 && $zs2 == $z2, "");],
|
|
|
|
+ [typedef int verify[2*(
|
|
|
|
+ $ys1 == $y1 && $ys2 == $y2 && $zs1 == $z1 && $zs2 == $z2
|
|
|
|
+ ) - 1];],
|
|
|
|
[rounds=rounds_to_nearest])
|
|
|
|
fi
|
|
|
|
if test -z "$rounds"; then
|
|
|
|
AC_TRY_COMPILE([],
|
|
|
|
- [static_assert($ys1 == $y1 && $ys2 == $y1 && $zs1 == $z1 && $zs2 == $z1, "");],
|
|
|
|
+ [typedef int verify[2*(
|
|
|
|
+ $ys1 == $y1 && $ys2 == $y1 && $zs1 == $z1 && $zs2 == $z1
|
|
|
|
+ ) - 1];],
|
|
|
|
[rounds=rounds_to_zero])
|
|
|
|
fi
|
|
|
|
if test -z "$rounds"; then
|
|
|
|
AC_TRY_COMPILE([],
|
|
|
|
- [static_assert($ys1 == $y2 && $ys2 == $y2 && $zs1 == $z1 && $zs2 == $z1, "");],
|
|
|
|
+ [typedef int verify[2*(
|
|
|
|
+ $ys1 == $y2 && $ys2 == $y2 && $zs1 == $z1 && $zs2 == $z1
|
|
|
|
+ ) - 1];],
|
|
|
|
[rounds=rounds_to_infinity])
|
|
|
|
fi
|
|
|
|
if test -z "$rounds"; then
|
|
|
|
AC_TRY_COMPILE([],
|
|
|
|
- [static_assert($ys1 == $y1 && $ys2 == $y1 && $zs1 == $z2 && $zs2 == $z2, "");],
|
|
|
|
+ [typedef int verify[2*(
|
|
|
|
+ $ys1 == $y1 && $ys2 == $y1 && $zs1 == $z2 && $zs2 == $z2
|
|
|
|
+ ) - 1];],
|
|
|
|
[rounds=rounds_to_minus_infinity])
|
|
|
|
fi
|
|
|
|
if test -n "$rounds"; then
|
2020-01-13 00:23:46 +01:00
|
|
|
diff -uNr cln-1.3.6/m4/intparam.m4 cln-1.3.6.mod/m4/intparam.m4
|
|
|
|
--- cln-1.3.6/m4/intparam.m4 2019-12-05 00:56:23.000000000 +0200
|
|
|
|
+++ cln-1.3.6.mod/m4/intparam.m4 2020-01-13 01:19:07.393932063 +0200
|
2019-11-27 10:24:10 +01:00
|
|
|
@@ -113,7 +113,7 @@
|
|
|
|
echo "#error \"Integer types long long and unsigned long long have different sizes!!\""
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
- AC_TRY_COMPILE([], [static_assert(sizeof(char*) <= sizeof(intptr_t), "");],
|
|
|
|
+ AC_TRY_COMPILE([], [typedef int verify[2*(sizeof(char*)<=sizeof (long))-1];],
|
|
|
|
[], [echo "#error \"Type char * does not fit into an intptr_t!!\""])
|
|
|
|
_AC_COMPUTE_INT([sizeof (char *)], [pointer_size])
|
|
|
|
pointer_bitsize=`expr $pointer_size '*' $char_bitsize`
|
|
|
|
@@ -290,7 +290,7 @@
|
|
|
|
#else
|
|
|
|
# define alignof(type) offsetof (struct { char slot1; type slot2; }, slot2)
|
|
|
|
#endif
|
|
|
|
-], [static_assert(alignof($1) == $n, "");],
|
|
|
|
+], [typedef int verify[2*(alignof($1) == $n) - 1];],
|
|
|
|
[$2=$n; break;]
|
|
|
|
[if test $n = 0; then $2=; break; fi])
|
|
|
|
n=`expr $n '*' 2`
|