소스 검색

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

Shift as a unsigned number instead.
Anonymous Maarten 1 개월 전
부모
커밋
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)