On 4/2/23 15:40, Christoph Reiter wrote:
Building genpeimg with clang v16 fails like:error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] pe->is_64bit = 1; is_64bit is always ever comapred against 0 in our case, so the value change doesn't matter, but let's just make it unsigned to fix the error and avoid any future confusion. The same is theoretically true for is_bigendian, but that currently never set to 1 in any place. Make it unsigned as well while at it. --- mingw-w64-tools/genpeimg/src/img.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-tools/genpeimg/src/img.h b/mingw-w64-tools/genpeimg/src/img.h index 6e969a175..dd47a0f4b 100644 --- a/mingw-w64-tools/genpeimg/src/img.h +++ b/mingw-w64-tools/genpeimg/src/img.h @@ -67,8 +67,8 @@ typedef struct pe_image { size_t optional_hdr_pos; size_t section_list; size_t section_list_sz; /* Each section entry has 40 bytes size. */ - int is_64bit : 1; - int is_bigendian : 1; + unsigned int is_64bit : 1; + unsigned int is_bigendian : 1; } pe_image;pe_image *peimg_create (file_image *pimg);
Thanks, pushed to master branch. _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
