test/constant_time_test.c:150: error: INTEGER_OVERFLOW_L1
  (0 - 1):unsigned64 by call to `constant_time_is_zero_s`.
Showing all 6 steps of the trace


test/constant_time_test.c:45:1: Array declaration
43.   };
44.   
45. > static size_t test_values_s[] = {
46.       0, 1, 1024, 12345, 32000, SIZE_MAX / 2 - 1,
47.       SIZE_MAX / 2, SIZE_MAX / 2 + 1, SIZE_MAX - 1,

test/constant_time_test.c:148:5: Assignment
146.   static int test_is_zero_s(int i)
147.   {
148.       size_t a = test_values_s[i];
           ^
149.   
150.       if (a == 0 && !TEST_size_t_eq(constant_time_is_zero_s(a), CONSTTIME_TRUE_S))

test/constant_time_test.c:150:20: Call
148.       size_t a = test_values_s[i];
149.   
150.       if (a == 0 && !TEST_size_t_eq(constant_time_is_zero_s(a), CONSTTIME_TRUE_S))
                          ^
151.           return 0;
152.       if (a != 0 && !TEST_uint_eq(constant_time_is_zero_s(a), CONSTTIME_FALSE_S))

include/internal/constant_time_locl.h:173:1: <LHS trace>
171.   }
172.   
173. > static ossl_inline size_t constant_time_is_zero_s(size_t a)
174.   {
175.       return constant_time_msb_s(~a & (a - 1));

include/internal/constant_time_locl.h:173:1: Parameter `a`
  171.   }
  172.   
  173. > static ossl_inline size_t constant_time_is_zero_s(size_t a)
  174.   {
  175.       return constant_time_msb_s(~a & (a - 1));

include/internal/constant_time_locl.h:175:12: Binary operation: (0 - 1):unsigned64 by call to `constant_time_is_zero_s` 
  173.   static ossl_inline size_t constant_time_is_zero_s(size_t a)
  174.   {
  175.       return constant_time_msb_s(~a & (a - 1));
                    ^
  176.   }
  177.   
