Skip to content

Commit 493df10

Browse files
committed
fix various cases of undefined behaviour to make the comparison testing easier
1 parent c15a4e1 commit 493df10

File tree

6 files changed

+33
-33
lines changed

6 files changed

+33
-33
lines changed

bitbtest.c

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,9 @@ static const unsigned int high_flip[56] = {
221221
#endif
222222

223223
#define bbFlips_Right_high(pos, mask) \
224-
contig = right_contiguous[(opp_bits_high >> (pos + 1)) & mask]; \
225-
fl = right_flip[contig] << (pos + 1); \
226-
t = -(int)(my_bits_high & fl) >> 31; \
224+
contig = right_contiguous[(opp_bits_high >> (pos + 1u)) & mask]; \
225+
fl = right_flip[contig] << (pos + 1u); \
226+
t = ((int)(-(unsigned int)(my_bits_high & fl))) >> 31u; \
227227
my_bits_high |= fl & t; \
228228
flipped = contig & t
229229

@@ -544,22 +544,22 @@ static const unsigned int high_flip[56] = {
544544

545545

546546
#define bbFlips_Down_2_3(pos, vec, maskh) \
547-
if (opp_bits_low & (1 << (pos + vec))) { \
548-
if (opp_bits_low & (1 << (pos + vec * 2))) { \
549-
t = (opp_bits_high >> (pos + vec * 3 - 32)) & 1; \
550-
contig = 2 + t; \
551-
t &= (opp_bits_high >> (pos + vec * 4 - 32)); \
547+
if (opp_bits_low & (1u << (pos + vec))) { \
548+
if (opp_bits_low & (1u << (pos + vec * 2u))) { \
549+
t = (opp_bits_high >> (pos + vec * 3u - 32u)) & 1u; \
550+
contig = 2u + t; \
551+
t &= (opp_bits_high >> (pos + vec * 4u - 32u)); \
552552
contig += t; \
553-
t &= (opp_bits_high >> (pos + vec * 5 - 32)); \
553+
t &= (opp_bits_high >> (pos + vec * 5u - 32u)); \
554554
contig += t; \
555555
t = lsb_mask[contig - 2] & maskh; \
556556
if (my_bits_high & t) { \
557557
my_bits_high |= t; \
558-
my_bits_low |= (1 << (pos + vec)) | (1 << (pos + vec * 2)); \
558+
my_bits_low |= (1u << (pos + vec)) | (1u << (pos + vec * 2u)); \
559559
flipped += contig; \
560560
} \
561561
} else { \
562-
t = (my_bits_low >> (pos + vec * 2)) & 1; \
562+
t = (my_bits_low >> (pos + vec * 2u)) & 1u; \
563563
my_bits_low |= t << (pos + vec); \
564564
flipped += t; \
565565
} \
@@ -679,17 +679,17 @@ static const unsigned int high_flip[56] = {
679679

680680

681681
#define bbFlips_Down_1_3(pos, vec, maskh) \
682-
if (opp_bits_low & (1 << (pos + vec))) { \
683-
t = (opp_bits_high >> (pos + vec * 2 - 32)) & 1; \
682+
if (opp_bits_low & (1u << (pos + vec))) { \
683+
t = (opp_bits_high >> (pos + vec * 2u - 32u)) & 1u; \
684684
contig = 1 + t; \
685-
t &= (opp_bits_high >> (pos + vec * 3 - 32)); \
685+
t &= (opp_bits_high >> (pos + vec * 3u - 32u)); \
686686
contig += t; \
687-
t &= (opp_bits_high >> (pos + vec * 4 - 32)); \
687+
t &= (opp_bits_high >> (pos + vec * 4u - 32u)); \
688688
contig += t; \
689-
t = lsb_mask[contig - 1] & maskh; \
689+
t = lsb_mask[contig - 1u] & maskh; \
690690
if (my_bits_high & t) { \
691691
my_bits_high |= t; \
692-
my_bits_low |= 1 << (pos + vec); \
692+
my_bits_low |= 1u << (pos + vec); \
693693
flipped += contig; \
694694
} \
695695
}
@@ -795,10 +795,10 @@ static const unsigned int high_flip[56] = {
795795
#endif
796796

797797
#define bbFlips_Up_0_3(pos, vec, mask) \
798-
if (opp_bits_low & (1 << (pos + 32 - vec))) { \
799-
t = (opp_bits_low >> (pos + 32 - vec * 2)) & 1; \
798+
if (opp_bits_low & (1u << (pos + 32u - vec))) { \
799+
t = (opp_bits_low >> (pos + 32u - vec * 2u)) & 1u; \
800800
contig = 1 + t; \
801-
t &= (opp_bits_low >> (pos + 32 - vec * 3)); \
801+
t &= (opp_bits_low >> (pos + 32u - vec * 3u)); \
802802
contig += t; \
803803
fl = msb_mask[contig] & mask; \
804804
t = -(int)(my_bits_low & fl) >> 31; \
@@ -1021,7 +1021,7 @@ TestFlips_bitboard_a8( unsigned int my_bits_high, unsigned int my_bits_low, unsi
10211021
unsigned int t, fl;
10221022

10231023
/* Right */
1024-
bbFlips_Right_high(24, 0x3F);
1024+
bbFlips_Right_high(24u, 0x3Fu);
10251025
/* Up right */
10261026
bbFlips_Up_3_3(24, 7, 0x00020408u, 0x10204080u);
10271027
/* Up */
@@ -1115,7 +1115,7 @@ TestFlips_bitboard_h2( unsigned int my_bits_high, unsigned int my_bits_low, unsi
11151115
/* Down left */
11161116
bbFlips_Down_2_3(15, 7, 0x02040810u);
11171117
/* Down */
1118-
bbFlips_Down_2_3(15, 8, 0x80808080u);
1118+
bbFlips_Down_2_3(15u, 8u, 0x80808080u);
11191119

11201120
my_bits_low |= 0x00008000u;
11211121
bb_flips.high = my_bits_high;
@@ -1339,7 +1339,7 @@ TestFlips_bitboard_h3( unsigned int my_bits_high, unsigned int my_bits_low, unsi
13391339
/* Down left */
13401340
bbFlips_Down_1_3(23, 7, 0x04081020u);
13411341
/* Down */
1342-
bbFlips_Down_1_3(23, 8, 0x80808080u);
1342+
bbFlips_Down_1_3(23u, 8u, 0x80808080u);
13431343
/* Up */
13441344
bbFlips_Up_1_low(23, 8);
13451345
/* Up left */
@@ -1553,7 +1553,7 @@ TestFlips_bitboard_h5( unsigned int my_bits_high, unsigned int my_bits_low, unsi
15531553
/* Down */
15541554
bbFlips_Down_2_high(7, 8, 0x00808000u);
15551555
/* Up */
1556-
bbFlips_Up_0_3(7, 8, 0x80808080u);
1556+
bbFlips_Up_0_3(7u, 8u, 0x80808080u);
15571557
/* Up left */
15581558
bbFlips_Up_0_3(7, 9, 0x40201008u);
15591559

end.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2409,7 +2409,7 @@ setup_end( void ) {
24092409
if ( dir_mask[pos] & (1 << k) ) {
24102410
unsigned int neighbor = shift + dir_shift[k];
24112411
if ( neighbor < 32 )
2412-
neighborhood_mask[pos].low |= (1 << neighbor);
2412+
neighborhood_mask[pos].low |= ((unsigned int)1 << ((unsigned int)neighbor));
24132413
else
24142414
neighborhood_mask[pos].high |= (1 << (neighbor - 32));
24152415
}

myrandom.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ my_srandom(int x)
190190
my_state[ 0 ] = x;
191191
for (i = 1; i < my_rand_deg; i++)
192192
{
193-
my_state[i] = 1103515245*my_state[i - 1] + 12345;
193+
my_state[i] = ((unsigned int)1103515245)*((unsigned int)my_state[i - 1]) + ((unsigned int )12345);
194194
}
195195
my_fptr = &my_state[my_rand_sep];
196196
my_rptr = &my_state[0];
@@ -348,7 +348,7 @@ my_random(void)
348348
}
349349
else
350350
{
351-
*my_fptr += *my_rptr;
351+
*my_fptr = ((unsigned int)*my_fptr) + ((unsigned int)*my_rptr);
352352
i = (*my_fptr >> 1)&0x7fffffff; /* chucking least random bit */
353353
if (++my_fptr >= my_end_ptr )
354354
{

patterns.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ transformation_setup( void ) {
9797
static void
9898
add_single( int mask, int pos ) {
9999
if ( mask < 32 )
100-
depend_lo[pos] |= 1 << mask;
100+
depend_lo[pos] |= ((unsigned int )1) << ((unsigned int)mask);
101101
else
102102
depend_hi[pos] |= 1 << (mask - 32);
103103
}

stable.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ count_stable( int color,
281281

282282
common_stable.low = edge_stable[edge_a1h1];
283283

284-
common_stable.high = (edge_stable[edge_a8h8] << 24);
284+
common_stable.high = (((unsigned int)edge_stable[edge_a8h8]) << (unsigned int)24);
285285

286286
t = edge_stable[edge_a1a8];
287287
common_stable.low |= ((t & 0x0F) * 0x00204081) & 0x01010101;

thordb.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2522,18 +2522,18 @@ init_move_masks( void ) {
25222522
for ( i = 0; i < 4; i++ )
25232523
for ( j = 0, pos = 10 * i + 11; j < 8; j++, pos++ ) {
25242524
index = 8 * i + j;
2525-
move_mask_lo[pos] = (1 << index);
2525+
move_mask_lo[pos] = (((unsigned int)1) << ((unsigned int)index));
25262526
move_mask_hi[pos] = 0;
2527-
unmove_mask_lo[pos] = ~(1 << index);
2527+
unmove_mask_lo[pos] = ~(((unsigned int)1) << ((unsigned int)index));
25282528
unmove_mask_hi[pos] = ~0;
25292529
}
25302530
for ( i = 0; i < 4; i++ )
25312531
for ( j = 0, pos = 10 * i + 51; j < 8; j++, pos++ ) {
25322532
index = 8 * i + j;
25332533
move_mask_lo[pos] = 0;
2534-
move_mask_hi[pos] = (1 << index);
2534+
move_mask_hi[pos] = (((unsigned int)1) << ((unsigned int)index));
25352535
unmove_mask_lo[pos] = ~0;
2536-
unmove_mask_hi[pos] = ~(1 << index);
2536+
unmove_mask_hi[pos] = ~(((unsigned int)1) << ((unsigned int)index));
25372537
}
25382538
}
25392539

0 commit comments

Comments
 (0)