Enhance zero_extend_signed_to_ull and sign_extend_unsigned_to_ll macros
* defs.h (zero_extend_signed_to_ull, sign_extend_unsigned_to_ll): Add support of char types. * tests/tests.h (zero_extend_signed_to_ull, sign_extend_unsigned_to_ll): Likewise.
This commit is contained in:
parent
340909fd00
commit
906dc4aaa1
6
defs.h
6
defs.h
@ -751,7 +751,8 @@ extern unsigned current_wordsize;
|
||||
* Zero-extend a signed integer type to unsigned long long.
|
||||
*/
|
||||
#define zero_extend_signed_to_ull(v) \
|
||||
(sizeof(v) == sizeof(short) ? (unsigned long long) (unsigned short) (v) : \
|
||||
(sizeof(v) == sizeof(char) ? (unsigned long long) (unsigned char) (v) : \
|
||||
sizeof(v) == sizeof(short) ? (unsigned long long) (unsigned short) (v) : \
|
||||
sizeof(v) == sizeof(int) ? (unsigned long long) (unsigned int) (v) : \
|
||||
sizeof(v) == sizeof(long) ? (unsigned long long) (unsigned long) (v) : \
|
||||
(unsigned long long) (v))
|
||||
@ -760,7 +761,8 @@ extern unsigned current_wordsize;
|
||||
* Sign-extend an unsigned integer type to long long.
|
||||
*/
|
||||
#define sign_extend_unsigned_to_ll(v) \
|
||||
(sizeof(v) == sizeof(short) ? (long long) (short) (v) : \
|
||||
(sizeof(v) == sizeof(char) ? (long long) (char) (v) : \
|
||||
sizeof(v) == sizeof(short) ? (long long) (short) (v) : \
|
||||
sizeof(v) == sizeof(int) ? (long long) (int) (v) : \
|
||||
sizeof(v) == sizeof(long) ? (long long) (long) (v) : \
|
||||
(long long) (v))
|
||||
|
@ -132,14 +132,16 @@ int send_mmsg(int, struct mmsghdr *, unsigned int, unsigned int);
|
||||
|
||||
/* Zero-extend a signed integer type to unsigned long long. */
|
||||
#define zero_extend_signed_to_ull(v) \
|
||||
(sizeof(v) == sizeof(short) ? (unsigned long long) (unsigned short) (v) : \
|
||||
(sizeof(v) == sizeof(char) ? (unsigned long long) (unsigned char) (v) : \
|
||||
sizeof(v) == sizeof(short) ? (unsigned long long) (unsigned short) (v) : \
|
||||
sizeof(v) == sizeof(int) ? (unsigned long long) (unsigned int) (v) : \
|
||||
sizeof(v) == sizeof(long) ? (unsigned long long) (unsigned long) (v) : \
|
||||
(unsigned long long) (v))
|
||||
|
||||
/* Sign-extend an unsigned integer type to long long. */
|
||||
#define sign_extend_unsigned_to_ll(v) \
|
||||
(sizeof(v) == sizeof(short) ? (long long) (short) (v) : \
|
||||
(sizeof(v) == sizeof(char) ? (long long) (char) (v) : \
|
||||
sizeof(v) == sizeof(short) ? (long long) (short) (v) : \
|
||||
sizeof(v) == sizeof(int) ? (long long) (int) (v) : \
|
||||
sizeof(v) == sizeof(long) ? (long long) (long) (v) : \
|
||||
(long long) (v))
|
||||
|
Loading…
x
Reference in New Issue
Block a user