Fix -Werror=conversion in fundamental-public.h
diff --git a/internal/cgen/base/fundamental-public.h b/internal/cgen/base/fundamental-public.h
index 67ada28..6864026 100644
--- a/internal/cgen/base/fundamental-public.h
+++ b/internal/cgen/base/fundamental-public.h
@@ -584,49 +584,49 @@
static inline uint8_t //
wuffs_base__u8__rotate_left(uint8_t x, uint32_t n) {
n &= 7;
- return (x << n) | (x >> (8 - n));
+ return ((uint8_t)(x << n)) | ((uint8_t)(x >> (8 - n)));
}
static inline uint8_t //
wuffs_base__u8__rotate_right(uint8_t x, uint32_t n) {
n &= 7;
- return (x >> n) | (x << (8 - n));
+ return ((uint8_t)(x >> n)) | ((uint8_t)(x << (8 - n)));
}
static inline uint16_t //
wuffs_base__u16__rotate_left(uint16_t x, uint32_t n) {
n &= 15;
- return (x << n) | (x >> (16 - n));
+ return ((uint16_t)(x << n)) | ((uint16_t)(x >> (16 - n)));
}
static inline uint16_t //
wuffs_base__u16__rotate_right(uint16_t x, uint32_t n) {
n &= 15;
- return (x >> n) | (x << (16 - n));
+ return ((uint16_t)(x >> n)) | ((uint16_t)(x << (16 - n)));
}
static inline uint32_t //
wuffs_base__u32__rotate_left(uint32_t x, uint32_t n) {
n &= 31;
- return (x << n) | (x >> (32 - n));
+ return ((uint32_t)(x << n)) | ((uint32_t)(x >> (32 - n)));
}
static inline uint32_t //
wuffs_base__u32__rotate_right(uint32_t x, uint32_t n) {
n &= 31;
- return (x >> n) | (x << (32 - n));
+ return ((uint32_t)(x >> n)) | ((uint32_t)(x << (32 - n)));
}
static inline uint64_t //
wuffs_base__u64__rotate_left(uint64_t x, uint32_t n) {
n &= 63;
- return (x << n) | (x >> (64 - n));
+ return ((uint64_t)(x << n)) | ((uint64_t)(x >> (64 - n)));
}
static inline uint64_t //
wuffs_base__u64__rotate_right(uint64_t x, uint32_t n) {
n &= 63;
- return (x >> n) | (x << (64 - n));
+ return ((uint64_t)(x >> n)) | ((uint64_t)(x << (64 - n)));
}
// --------
diff --git a/internal/cgen/data/data.go b/internal/cgen/data/data.go
index 8896bbd..c81bc06 100644
--- a/internal/cgen/data/data.go
+++ b/internal/cgen/data/data.go
@@ -91,8 +91,8 @@
"int32_t //\nwuffs_base__i32__max(int32_t x, int32_t y) {\n return x > y ? x : y;\n}\n\nstatic inline int64_t //\nwuffs_base__i64__min(int64_t x, int64_t y) {\n return x < y ? x : y;\n}\n\nstatic inline int64_t //\nwuffs_base__i64__max(int64_t x, int64_t y) {\n return x > y ? x : y;\n}\n\nstatic inline uint8_t //\nwuffs_base__u8__min(uint8_t x, uint8_t y) {\n return x < y ? x : y;\n}\n\nstatic inline uint8_t //\nwuffs_base__u8__max(uint8_t x, uint8_t y) {\n return x > y ? x : y;\n}\n\nstatic inline uint16_t //\nwuffs_base__u16__min(uint16_t x, uint16_t y) {\n return x < y ? x : y;\n}\n\nstatic inline uint16_t //\nwuffs_base__u16__max(uint16_t x, uint16_t y) {\n return x > y ? x : y;\n}\n\nstatic inline uint32_t //\nwuffs_base__u32__min(uint32_t x, uint32_t y) {\n return x < y ? x : y;\n}\n\nstatic inline uint32_t //\nwuffs_base__u32__max(uint32_t x, uint32_t y) {\n return x > y ? x : y;\n}\n\nstatic inline uint64_t //\nwuffs_base__u64__min(uint64_t x, uint64_t y) {\n return x < y ? x : y;\n}\n\nstatic inline uint64_t //\nwuffs_base__u64__m" +
"ax(uint64_t x, uint64_t y) {\n return x > y ? x : y;\n}\n\n" +
"" +
- "// --------\n\nstatic inline uint8_t //\nwuffs_base__u8__rotate_left(uint8_t x, uint32_t n) {\n n &= 7;\n return (x << n) | (x >> (8 - n));\n}\n\nstatic inline uint8_t //\nwuffs_base__u8__rotate_right(uint8_t x, uint32_t n) {\n n &= 7;\n return (x >> n) | (x << (8 - n));\n}\n\nstatic inline uint16_t //\nwuffs_base__u16__rotate_left(uint16_t x, uint32_t n) {\n n &= 15;\n return (x << n) | (x >> (16 - n));\n}\n\nstatic inline uint16_t //\nwuffs_base__u16__rotate_right(uint16_t x, uint32_t n) {\n n &= 15;\n return (x >> n) | (x << (16 - n));\n}\n\nstatic inline uint32_t //\nwuffs_base__u32__rotate_left(uint32_t x, uint32_t n) {\n n &= 31;\n return (x << n) | (x >> (32 - n));\n}\n\nstatic inline uint32_t //\nwuffs_base__u32__rotate_right(uint32_t x, uint32_t n) {\n n &= 31;\n return (x >> n) | (x << (32 - n));\n}\n\nstatic inline uint64_t //\nwuffs_base__u64__rotate_left(uint64_t x, uint32_t n) {\n n &= 63;\n return (x << n) | (x >> (64 - n));\n}\n\nstatic inline uint64_t //\nwuffs_base__u64__rotate_right(uint64_t x, uint32_t n) {\n n " +
- "&= 63;\n return (x >> n) | (x << (64 - n));\n}\n\n" +
+ "// --------\n\nstatic inline uint8_t //\nwuffs_base__u8__rotate_left(uint8_t x, uint32_t n) {\n n &= 7;\n return ((uint8_t)(x << n)) | ((uint8_t)(x >> (8 - n)));\n}\n\nstatic inline uint8_t //\nwuffs_base__u8__rotate_right(uint8_t x, uint32_t n) {\n n &= 7;\n return ((uint8_t)(x >> n)) | ((uint8_t)(x << (8 - n)));\n}\n\nstatic inline uint16_t //\nwuffs_base__u16__rotate_left(uint16_t x, uint32_t n) {\n n &= 15;\n return ((uint16_t)(x << n)) | ((uint16_t)(x >> (16 - n)));\n}\n\nstatic inline uint16_t //\nwuffs_base__u16__rotate_right(uint16_t x, uint32_t n) {\n n &= 15;\n return ((uint16_t)(x >> n)) | ((uint16_t)(x << (16 - n)));\n}\n\nstatic inline uint32_t //\nwuffs_base__u32__rotate_left(uint32_t x, uint32_t n) {\n n &= 31;\n return ((uint32_t)(x << n)) | ((uint32_t)(x >> (32 - n)));\n}\n\nstatic inline uint32_t //\nwuffs_base__u32__rotate_right(uint32_t x, uint32_t n) {\n n &= 31;\n return ((uint32_t)(x >> n)) | ((uint32_t)(x << (32 - n)));\n}\n\nstatic inline uint64_t //\nwuffs_base__u64__rotate_left(uint64_t x, uint32_t n) " +
+ "{\n n &= 63;\n return ((uint64_t)(x << n)) | ((uint64_t)(x >> (64 - n)));\n}\n\nstatic inline uint64_t //\nwuffs_base__u64__rotate_right(uint64_t x, uint32_t n) {\n n &= 63;\n return ((uint64_t)(x >> n)) | ((uint64_t)(x << (64 - n)));\n}\n\n" +
"" +
"// --------\n\n// Saturating arithmetic (sat_add, sat_sub) branchless bit-twiddling algorithms\n// are per https://locklessinc.com/articles/sat_arithmetic/\n//\n// It is important that the underlying types are unsigned integers, as signed\n// integer arithmetic overflow is undefined behavior in C.\n\nstatic inline uint8_t //\nwuffs_base__u8__sat_add(uint8_t x, uint8_t y) {\n uint8_t res = (uint8_t)(x + y);\n res |= (uint8_t)(-(res < x));\n return res;\n}\n\nstatic inline uint8_t //\nwuffs_base__u8__sat_sub(uint8_t x, uint8_t y) {\n uint8_t res = (uint8_t)(x - y);\n res &= (uint8_t)(-(res <= x));\n return res;\n}\n\nstatic inline uint16_t //\nwuffs_base__u16__sat_add(uint16_t x, uint16_t y) {\n uint16_t res = (uint16_t)(x + y);\n res |= (uint16_t)(-(res < x));\n return res;\n}\n\nstatic inline uint16_t //\nwuffs_base__u16__sat_sub(uint16_t x, uint16_t y) {\n uint16_t res = (uint16_t)(x - y);\n res &= (uint16_t)(-(res <= x));\n return res;\n}\n\nstatic inline uint32_t //\nwuffs_base__u32__sat_add(uint32_t x, uint32_t y) {\n uint32" +
"_t res = (uint32_t)(x + y);\n res |= (uint32_t)(-(res < x));\n return res;\n}\n\nstatic inline uint32_t //\nwuffs_base__u32__sat_sub(uint32_t x, uint32_t y) {\n uint32_t res = (uint32_t)(x - y);\n res &= (uint32_t)(-(res <= x));\n return res;\n}\n\nstatic inline uint64_t //\nwuffs_base__u64__sat_add(uint64_t x, uint64_t y) {\n uint64_t res = (uint64_t)(x + y);\n res |= (uint64_t)(-(res < x));\n return res;\n}\n\nstatic inline uint64_t //\nwuffs_base__u64__sat_sub(uint64_t x, uint64_t y) {\n uint64_t res = (uint64_t)(x - y);\n res &= (uint64_t)(-(res <= x));\n return res;\n}\n\n" +
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index 584d0be..b2e8233 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -807,49 +807,49 @@
static inline uint8_t //
wuffs_base__u8__rotate_left(uint8_t x, uint32_t n) {
n &= 7;
- return (x << n) | (x >> (8 - n));
+ return ((uint8_t)(x << n)) | ((uint8_t)(x >> (8 - n)));
}
static inline uint8_t //
wuffs_base__u8__rotate_right(uint8_t x, uint32_t n) {
n &= 7;
- return (x >> n) | (x << (8 - n));
+ return ((uint8_t)(x >> n)) | ((uint8_t)(x << (8 - n)));
}
static inline uint16_t //
wuffs_base__u16__rotate_left(uint16_t x, uint32_t n) {
n &= 15;
- return (x << n) | (x >> (16 - n));
+ return ((uint16_t)(x << n)) | ((uint16_t)(x >> (16 - n)));
}
static inline uint16_t //
wuffs_base__u16__rotate_right(uint16_t x, uint32_t n) {
n &= 15;
- return (x >> n) | (x << (16 - n));
+ return ((uint16_t)(x >> n)) | ((uint16_t)(x << (16 - n)));
}
static inline uint32_t //
wuffs_base__u32__rotate_left(uint32_t x, uint32_t n) {
n &= 31;
- return (x << n) | (x >> (32 - n));
+ return ((uint32_t)(x << n)) | ((uint32_t)(x >> (32 - n)));
}
static inline uint32_t //
wuffs_base__u32__rotate_right(uint32_t x, uint32_t n) {
n &= 31;
- return (x >> n) | (x << (32 - n));
+ return ((uint32_t)(x >> n)) | ((uint32_t)(x << (32 - n)));
}
static inline uint64_t //
wuffs_base__u64__rotate_left(uint64_t x, uint32_t n) {
n &= 63;
- return (x << n) | (x >> (64 - n));
+ return ((uint64_t)(x << n)) | ((uint64_t)(x >> (64 - n)));
}
static inline uint64_t //
wuffs_base__u64__rotate_right(uint64_t x, uint32_t n) {
n &= 63;
- return (x >> n) | (x << (64 - n));
+ return ((uint64_t)(x >> n)) | ((uint64_t)(x << (64 - n)));
}
// --------