On Sat, Feb 02, 2019 at 07:31:05PM +0300, Alexey Dobriyan wrote: > On Sun, Feb 03, 2019 at 01:06:24AM +0900, Masahiro Yamada wrote: > > The log of commit 44f564a4bf6a ("ipc: add definitions of USHORT_MAX > > and others") did not explain why it used (s16) and (u16) instead of > > (short) and (unsigned short). > > > > Let's use (short) and (unsigned short), which is more sensible, and > > more consistent with the other MAX/MIN defines. > > > > As you see in include/uapi/asm-generic/int-ll64.h, s16/u16 are > > typedef'ed as signed/unsigned short. So, this commit does not have > > a functional change. > > > -#define USHRT_MAX ((u16)(~0U)) > > -#define SHRT_MAX ((s16)(USHRT_MAX>>1)) > > -#define SHRT_MIN ((s16)(-SHRT_MAX - 1)) > > +#define USHRT_MAX ((unsigned short)(~0U)) > ^ ^ > +---+ > unnecessary () > > +#define SHRT_MAX ((short)(USHRT_MAX>>1)) > > +#define SHRT_MIN ((short)(-SHRT_MAX - 1)) > > "short" and "unsigned short" are probably the most useless C types. > I doubt their usage should be promoted.
OTOH, U16_MAX etc exist and cast to u16, so using "short" would be the right thing to do.