Просмотр исходного кода

Shifting a number into the sign bit of a signed integer is UB

Shift as a unsigned number instead.
Anonymous Maarten 4 дней назад
Родитель
Сommit
df72e3f59d
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      test/testatomic.c

+ 1 - 1
test/testatomic.c

@@ -101,7 +101,7 @@ static void RunBasicTest(void)
 #define VALBITS  (sizeof(atomicValue) * 8)
 
 #define atomicValue int
-#define CountTo     ((atomicValue)((unsigned int)(1 << (VALBITS - 1)) - 1))
+#define CountTo     ((atomicValue)((1u << (VALBITS - 1)) - 1))
 #define NInter      (CountTo / CountInc / NThreads)
 #define Expect      (CountTo - NInter * CountInc * NThreads)