breaking changes in type system
This commit is contained in:
@@ -29,45 +29,45 @@ static inline __kp_value_union __kpVU_i(i64 f) { return (__kp_value_union){ .i64
|
||||
|
||||
#define __kpVU(V) __kpVU_selectType(V)
|
||||
|
||||
#define __kp_argsToFmts8(\
|
||||
a0, a1, a2, a3, a4, a5, a6, a7,...)\
|
||||
#define __kp_argsToFmts8( \
|
||||
a0, a1, a2, a3, a4, a5, a6, a7,...) \
|
||||
((i32[]){ a0,a2,a4,a6 })
|
||||
#define __kp_argsToObjs8(\
|
||||
a0, a1, a2, a3, a4, a5, a6, a7,...)\
|
||||
#define __kp_argsToObjs8( \
|
||||
a0, a1, a2, a3, a4, a5, a6, a7,...) \
|
||||
((__kp_value_union[]){ __kpVU(a1),__kpVU(a3),__kpVU(a5),__kpVU(a7) })
|
||||
|
||||
#define __kp_argsToFmts16(\
|
||||
a0, a1, a2, a3, a4, a5, a6, a7,\
|
||||
a8, a9, a10,a11,a12,a13,a14,a15,...)\
|
||||
#define __kp_argsToFmts16( \
|
||||
a0, a1, a2, a3, a4, a5, a6, a7, \
|
||||
a8, a9, a10,a11,a12,a13,a14,a15,...) \
|
||||
((i32[]){ a0,a2,a4,a6,a8,a10,a12,a14 })
|
||||
#define __kp_argsToObjs16(\
|
||||
a0, a1, a2, a3, a4, a5, a6, a7,\
|
||||
a8, a9, a10,a11,a12,a13,a14,a15,...)\
|
||||
#define __kp_argsToObjs16( \
|
||||
a0, a1, a2, a3, a4, a5, a6, a7, \
|
||||
a8, a9, a10,a11,a12,a13,a14,a15,...) \
|
||||
((__kp_value_union[]){ __kpVU(a1),__kpVU(a3),__kpVU(a5),__kpVU(a7),__kpVU(a9),__kpVU(a11),__kpVU(a13),__kpVU(a15) })
|
||||
|
||||
#define __kp_argsToFmts32(\
|
||||
a0, a1, a2, a3, a4, a5, a6, a7,\
|
||||
a8, a9, a10,a11,a12,a13,a14,a15,\
|
||||
a16,a17,a18,a19,a20,a21,a22,a23,\
|
||||
a24,a25,a26,a27,a28,a29,a30,a31,...)\
|
||||
#define __kp_argsToFmts32( \
|
||||
a0, a1, a2, a3, a4, a5, a6, a7, \
|
||||
a8, a9, a10,a11,a12,a13,a14,a15, \
|
||||
a16,a17,a18,a19,a20,a21,a22,a23, \
|
||||
a24,a25,a26,a27,a28,a29,a30,a31,...) \
|
||||
((i32[]){ a0,a2,a4,a6,a8,a10,a12,a14,a16,a18,a20,a22,a24,a26,a28,a30 })
|
||||
#define __kp_argsToObjs32(\
|
||||
a0, a1, a2, a3, a4, a5, a6, a7,\
|
||||
a8, a9, a10,a11,a12,a13,a14,a15,\
|
||||
a16,a17,a18,a19,a20,a21,a22,a23,\
|
||||
a24,a25,a26,a27,a28,a29,a30,a31,...)\
|
||||
#define __kp_argsToObjs32( \
|
||||
a0, a1, a2, a3, a4, a5, a6, a7, \
|
||||
a8, a9, a10,a11,a12,a13,a14,a15, \
|
||||
a16,a17,a18,a19,a20,a21,a22,a23, \
|
||||
a24,a25,a26,a27,a28,a29,a30,a31,...) \
|
||||
((__kp_value_union[]){ __kpVU(a1),__kpVU(a3),__kpVU(a5),__kpVU(a7),__kpVU(a9),__kpVU(a11),__kpVU(a13),__kpVU(a15),__kpVU(a17),__kpVU(a19),__kpVU(a21),__kpVU(a23),__kpVU(a25),__kpVU(a27),__kpVU(a29),__kpVU(a31) })
|
||||
|
||||
#define __32zeroes 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
|
||||
#define __kp_argsToArrs(COUNT,ARGS...)\
|
||||
(kp_fmt*)(\
|
||||
COUNT<=8 ? __kp_argsToFmts8(ARGS) :\
|
||||
COUNT<=16 ? __kp_argsToFmts16(ARGS) :\
|
||||
__kp_argsToFmts32(ARGS)),\
|
||||
(__kp_value_union*)(\
|
||||
COUNT<=8 ? __kp_argsToObjs8(ARGS) :\
|
||||
COUNT<=16 ? __kp_argsToObjs16(ARGS) :\
|
||||
#define __kp_argsToArrs(COUNT,ARGS...) \
|
||||
(kp_fmt*)( \
|
||||
COUNT<=8 ? __kp_argsToFmts8(ARGS) : \
|
||||
COUNT<=16 ? __kp_argsToFmts16(ARGS) : \
|
||||
__kp_argsToFmts32(ARGS)), \
|
||||
(__kp_value_union*)( \
|
||||
COUNT<=8 ? __kp_argsToObjs8(ARGS) : \
|
||||
COUNT<=16 ? __kp_argsToObjs16(ARGS) : \
|
||||
__kp_argsToObjs32(ARGS))
|
||||
|
||||
|
||||
@@ -75,8 +75,8 @@ Maybe __ksprint(u8 n, kp_fmt* formats, __kp_value_union* objects);
|
||||
|
||||
/// @param ARGS kp_fmt, value, kp_fmt, value...
|
||||
///@returns Maybe<char*>
|
||||
#define ksprint(ARGS...) WARNING_DISABLE( W_INT_CONVERSION,\
|
||||
__ksprint(count_args(ARGS), __kp_argsToArrs(count_args(ARGS),ARGS, __32zeroes))\
|
||||
#define ksprint(ARGS...) WARNING_DISABLE( W_INT_CONVERSION, \
|
||||
__ksprint(count_args(ARGS), __kp_argsToArrs(count_args(ARGS),ARGS, __32zeroes)) \
|
||||
)
|
||||
/*-Wint-conversion warning was produced during value to __kp_value_union conversion*/
|
||||
|
||||
@@ -85,8 +85,8 @@ Maybe __kfprint(FILE* fd, u8 n, kp_fmt* formats, __kp_value_union* objects);
|
||||
/// @param FD FILE*
|
||||
/// @param ARGS kp_fmt, value, kp_fmt, value...
|
||||
///@returns Maybe<void>
|
||||
#define kfprint(FD, ARGS...) WARNING_DISABLE( W_INT_CONVERSION,\
|
||||
__kfprint(FD, count_args(ARGS), __kp_argsToArrs(count_args(ARGS),ARGS, __32zeroes))\
|
||||
#define kfprint(FD, ARGS...) WARNING_DISABLE( W_INT_CONVERSION, \
|
||||
__kfprint(FD, count_args(ARGS), __kp_argsToArrs(count_args(ARGS),ARGS, __32zeroes)) \
|
||||
)
|
||||
|
||||
void __kprint(u8 n, kp_fmt* formats, __kp_value_union* objects);
|
||||
@@ -94,8 +94,8 @@ void __kprint(u8 n, kp_fmt* formats, __kp_value_union* objects);
|
||||
///can use non-catchable throw !!!
|
||||
///@param ARGS kp_fmt, value, kp_fmt, value...
|
||||
///@returns void
|
||||
#define kprint(ARGS...) WARNING_DISABLE( W_INT_CONVERSION,\
|
||||
__kprint(count_args(ARGS), __kp_argsToArrs(count_args(ARGS),ARGS, __32zeroes))\
|
||||
#define kprint(ARGS...) WARNING_DISABLE( W_INT_CONVERSION, \
|
||||
__kprint(count_args(ARGS), __kp_argsToArrs(count_args(ARGS),ARGS, __32zeroes)) \
|
||||
)
|
||||
|
||||
///@param f bgColor | fgColor
|
||||
|
||||
Reference in New Issue
Block a user