All new accounts created on Gitlab now require administrator approval. If you invite any collaborators, please let Flux staff know so they can approve the accounts.

Commit e9155f36 authored by Gurucharan Shetty's avatar Gurucharan Shetty Committed by Ben Pfaff

type-props: Avoid a MSVC warning.

Currently, MSVC complains when you have a macro of the
form TYPE_MAXIMUM(uint64_t) because a part of macro becomes
~(uint64_t)0 << 64 with a warning:

C4293: '<<' : shift count negative or too big, undefined behavior.

This commit makes changes to the macro to prevent that warning.
Suggested-by: default avatarBen Pfaff <blp@nicira.com>
Signed-off-by: default avatarGurucharan Shetty <gshetty@nicira.com>
Acked-by: default avatarBen Pfaff <blp@nicira.com>
parent b9a89e4b
......@@ -23,10 +23,10 @@
#define TYPE_IS_SIGNED(TYPE) ((TYPE) 1 > (TYPE) -1)
#define TYPE_VALUE_BITS(TYPE) (sizeof(TYPE) * CHAR_BIT - TYPE_IS_SIGNED(TYPE))
#define TYPE_MINIMUM(TYPE) (TYPE_IS_SIGNED(TYPE) \
? ~(TYPE)0 << TYPE_VALUE_BITS(TYPE) \
? ~(TYPE)0 << (sizeof(TYPE) * 8 - 1) \
: 0)
#define TYPE_MAXIMUM(TYPE) (TYPE_IS_SIGNED(TYPE) \
? ~(~(TYPE)0 << TYPE_VALUE_BITS(TYPE)) \
? ~(~(TYPE)0 << (sizeof(TYPE) * 8 - 1)) \
: (TYPE)-1)
/* Number of decimal digits required to format an integer of the given TYPE.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment