mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
unit: avoid UB by making integer literal explicitally unsigned
reported by cppcheck as: [unit/internal/uniform_ops.cpp:78]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour [unit/internal/uniform_ops.cpp:109]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour [unit/internal/uniform_ops.cpp:127]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour [unit/internal/uniform_ops.cpp:145]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
This commit is contained in:
parent
92edc37c1f
commit
f28feee57d
@ -75,7 +75,7 @@ TEST(Uniform, loadstore_u16) {
|
|||||||
|
|
||||||
TEST(Uniform, loadstore_u32) {
|
TEST(Uniform, loadstore_u32) {
|
||||||
for (int i = 0; i < 32; i++) {
|
for (int i = 0; i < 32; i++) {
|
||||||
u32 in = 1 << i;
|
u32 in = 1U << i;
|
||||||
const char *cin = (const char *)(&in);
|
const char *cin = (const char *)(&in);
|
||||||
u32 out = load_u32(cin);
|
u32 out = load_u32(cin);
|
||||||
EXPECT_EQ(in, out);
|
EXPECT_EQ(in, out);
|
||||||
@ -106,7 +106,7 @@ TEST(Uniform, loadstore_m128) {
|
|||||||
} in;
|
} in;
|
||||||
for (int i = 0; i < 128; i++) {
|
for (int i = 0; i < 128; i++) {
|
||||||
memset(&in, 0, sizeof(in));
|
memset(&in, 0, sizeof(in));
|
||||||
in.words[i/32] = 1 << (i % 32);
|
in.words[i/32] = 1U << (i % 32);
|
||||||
const char *cin = (const char *)(&in);
|
const char *cin = (const char *)(&in);
|
||||||
m128 out = load_m128(cin);
|
m128 out = load_m128(cin);
|
||||||
EXPECT_EQ(0, memcmp(&out, &in, sizeof(out)));
|
EXPECT_EQ(0, memcmp(&out, &in, sizeof(out)));
|
||||||
@ -124,7 +124,7 @@ TEST(Uniform, loadstore_m256) {
|
|||||||
} in;
|
} in;
|
||||||
for (int i = 0; i < 256; i++) {
|
for (int i = 0; i < 256; i++) {
|
||||||
memset(&in, 0, sizeof(in));
|
memset(&in, 0, sizeof(in));
|
||||||
in.words[i/32] = 1 << (i % 32);
|
in.words[i/32] = 1U << (i % 32);
|
||||||
const char *cin = (const char *)(&in);
|
const char *cin = (const char *)(&in);
|
||||||
m256 out = load_m256(cin);
|
m256 out = load_m256(cin);
|
||||||
EXPECT_EQ(0, memcmp(&out, &in, sizeof(out)));
|
EXPECT_EQ(0, memcmp(&out, &in, sizeof(out)));
|
||||||
@ -142,7 +142,7 @@ TEST(Uniform, loadstore_m512) {
|
|||||||
} in;
|
} in;
|
||||||
for (int i = 0; i < 512; i++) {
|
for (int i = 0; i < 512; i++) {
|
||||||
memset(&in, 0, sizeof(in));
|
memset(&in, 0, sizeof(in));
|
||||||
in.words[i/32] = 1 << (i % 32);
|
in.words[i/32] = 1U << (i % 32);
|
||||||
const char *cin = (const char *)(&in);
|
const char *cin = (const char *)(&in);
|
||||||
m512 out = load_m512(cin);
|
m512 out = load_m512(cin);
|
||||||
EXPECT_EQ(0, memcmp(&out, &in, sizeof(out)));
|
EXPECT_EQ(0, memcmp(&out, &in, sizeof(out)));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user