From f0715577c2709a77758092c6618effed18e80946 Mon Sep 17 00:00:00 2001 From: Glenn Washburn Date: Fri, 6 Nov 2020 22:44:24 -0600 Subject: [PATCH] types: Define GRUB_CHAR_BIT based on compiler macro instead of using literal Signed-off-by: Glenn Washburn Reviewed-by: Daniel Kiper --- include/grub/types.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/include/grub/types.h b/include/grub/types.h index 035a4b528..f22055f98 100644 --- a/include/grub/types.h +++ b/include/grub/types.h @@ -72,6 +72,14 @@ # endif #endif +#ifndef __CHAR_BIT__ +# error __CHAR_BIT__ is not defined +#elif __CHAR_BIT__ != 8 +# error __CHAR_BIT__ is not equal 8 +#else +# define GRUB_CHAR_BIT __CHAR_BIT__ +#endif + /* Define various wide integers. */ typedef signed char grub_int8_t; typedef short grub_int16_t; @@ -317,6 +325,4 @@ static inline void grub_set_unaligned64 (void *ptr, grub_uint64_t val) dd->d = val; } -#define GRUB_CHAR_BIT 8 - #endif /* ! GRUB_TYPES_HEADER */