Message ID | 1549123585-13800-1-git-send-email-yamada.masahiro@socionext.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] linux/kernel.h: use 'short' to define USHRT_MAX, SHRT_MAX, SHRT_MIN | expand |
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.
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.
On Sun, Feb 3, 2019 at 1:33 AM Alexey Dobriyan <adobriyan@gmail.com> 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 () Thanks, I will remove it in v2. > > +#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. -- Best Regards Masahiro Yamada
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 8f0e68e..110bac1 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -16,9 +16,9 @@ #include <asm/byteorder.h> #include <uapi/linux/kernel.h> -#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)) +#define SHRT_MAX ((short)(USHRT_MAX>>1)) +#define SHRT_MIN ((short)(-SHRT_MAX - 1)) #define INT_MAX ((int)(~0U>>1)) #define INT_MIN (-INT_MAX - 1) #define UINT_MAX (~0U)
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. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Alexey Dobriyan <adobriyan@gmail.com> Cc: Zhang Yanmin <yanmin.zhang@intel.com> --- include/linux/kernel.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- 2.7.4