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
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to