From: Dmitry V. Levin Date: Wed, 31 Aug 2016 16:09:24 +0000 (+0000) Subject: tests: add sign_extend_unsigned_to_ll macro X-Git-Tag: v4.14~136 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ca7c8952eaaa8e423dc4122e4c2abd9c2be046ee;p=strace tests: add sign_extend_unsigned_to_ll macro * tests/tests.h (sign_extend_unsigned_to_ll): New macro from defs.h. --- diff --git a/tests/tests.h b/tests/tests.h index d4607f24..81abe826 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -120,15 +120,20 @@ int send_mmsg(int, struct mmsghdr *, unsigned int, unsigned int); # define ARRAY_SIZE(arg) ((unsigned int) (sizeof(arg) / sizeof((arg)[0]))) # define LENGTH_OF(arg) ((unsigned int) sizeof(arg) - 1) -/* - * Zero-extend a signed integer type to unsigned long long. - */ +/* 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(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(int) ? (long long) (int) (v) : \ + sizeof(v) == sizeof(long) ? (long long) (long) (v) : \ + (long long) (v)) + # define SKIP_MAIN_UNDEFINED(arg) \ int main(void) { error_msg_and_skip("undefined: %s", arg); }