This patch prevents that older compilers report the following warning: f2fs_format.c: In function ‘f2fs_prepare_super_block’: ../include/f2fs_fs.h:350:26: error: conversion from ‘unsigned int’ to ‘__uint16_t’ {aka ‘short unsigned int’} changes value from ‘4076150800’ to ‘8208’ [-Werror=overflow] 350 | #define F2FS_SUPER_MAGIC 0xF2F52010 /* F2FS Magic Number */ | ^~~~~~~~~~ ../include/f2fs_fs.h:574:49: note: in expansion of macro ‘cpu_to_le16’ 574 | #define set_sb_le16(member, val) (sb->member = cpu_to_le16(val)) | ^~~~~~~~~~~
Signed-off-by: Bart Van Assche <bvanass...@acm.org> --- include/f2fs_fs.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h index 73dc48e25ec0..bc57dd07819a 100644 --- a/include/f2fs_fs.h +++ b/include/f2fs_fs.h @@ -579,14 +579,14 @@ struct f2fs_configuration { #define get_newsb_le32(member) le32_to_cpu(new_sb->member) #define get_newsb_le16(member) le16_to_cpu(new_sb->member) -#define set_sb(member, val) \ +#define set_sb(member, val) \ do { \ - typeof(sb->member) t; \ + typeof(sb->member) t = (val); \ switch (sizeof(t)) { \ - case 8: set_sb_le64(member, val); break; \ - case 4: set_sb_le32(member, val); break; \ - case 2: set_sb_le16(member, val); break; \ - } \ + case 8: set_sb_le64(member, t); break; \ + case 4: set_sb_le32(member, t); break; \ + case 2: set_sb_le16(member, t); break; \ + } \ } while(0) #define get_sb(member) \ @@ -617,14 +617,14 @@ struct f2fs_configuration { #define get_cp_le32(member) le32_to_cpu(cp->member) #define get_cp_le16(member) le16_to_cpu(cp->member) -#define set_cp(member, val) \ +#define set_cp(member, val) \ do { \ - typeof(cp->member) t; \ + typeof(cp->member) t = (val); \ switch (sizeof(t)) { \ - case 8: set_cp_le64(member, val); break; \ - case 4: set_cp_le32(member, val); break; \ - case 2: set_cp_le16(member, val); break; \ - } \ + case 8: set_cp_le64(member, t); break; \ + case 4: set_cp_le32(member, t); break; \ + case 2: set_cp_le16(member, t); break; \ + } \ } while(0) #define get_cp(member) \ _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel