compile
command_line: /opt/hostedtoolcache/cmake/4.0.3/x64/cmake-4.0.3-linux-x86_64/bin/cmake -E __run_co_compile --tidy=clang-tidy-18;--extra-arg-before=--driver-mode=gcc --source=/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c -- /usr/bin/clang-18 -DCOMB_BLOCKS=43 -DCOMB_TEETH=6 -DECMULT_WINDOW_SIZE=15 -DENABLE_MODULE_ECDH=1 -DENABLE_MODULE_ELLSWIFT=1 -DENABLE_MODULE_EXTRAKEYS=1 -DENABLE_MODULE_MUSIG=1 -DENABLE_MODULE_SCHNORRSIG=1 -DUSE_ASM_X86_64=1 -g -std=c90 -Wall -pedantic -Wcast-align -Wconditional-uninitialized -Wextra -Wnested-externs -Wno-long-long -Wno-overlength-strings -Wno-unused-function -Wreserved-identifier -Wshadow -Wstrict-prototypes -Wundef -MD -MT src/CMakeFiles/bench_ecmult.dir/bench_ecmult.c.o -MF src/CMakeFiles/bench_ecmult.dir/bench_ecmult.c.o.d -o src/CMakeFiles/bench_ecmult.dir/bench_ecmult.c.o -c /home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c
working_directory: "/home/runner/work/nightly-builds/nightly-builds/build"
Target: bench_ecmult
Target Type: EXECUTABLE
Source: /home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c
Language: C
Config: Debug
stderr:
/home/runner/work/nightly-builds/nightly-builds/src/group_impl.h:443:12: warning: Access to field 'infinity' results in a dereference of a null pointer (loaded from variable 'a') [clang-analyzer-core.NullDereference]
443 | return a->infinity;
| ^
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:171:17: note: Assuming 'i' is < 'iters'
171 | for (i = 0; i < iters; ++i) {
| ^~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:171:5: note: Loop condition is true. Entering loop body
171 | for (i = 0; i < iters; ++i) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:172:44: note: Passing null pointer value via 2nd parameter 'a'
172 | secp256k1_ecmult(&data->output[i], NULL, &secp256k1_scalar_zero, &data->scalars[(data->offset1+i) % POINTS]);
| ^
/usr/lib/llvm-18/lib/clang/18/include/__stddef_null.h:26:14: note: expanded from macro 'NULL'
26 | #define NULL ((void*)0)
| ^~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:172:9: note: Calling 'secp256k1_ecmult'
172 | secp256k1_ecmult(&data->output[i], NULL, &secp256k1_scalar_zero, &data->scalars[(data->offset1+i) % POINTS]);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:358:49: note: Passing null pointer value via 4th parameter 'a'
358 | secp256k1_ecmult_strauss_wnaf(&state, r, 1, a, na, ng);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:358:5: note: Calling 'secp256k1_ecmult_strauss_wnaf'
358 | secp256k1_ecmult_strauss_wnaf(&state, r, 1, a, na, ng);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:252:5: note: Loop condition is true. Entering loop body
252 | for (np = 0; np < num; ++np) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:255:13: note: Left side of '||' is false
255 | if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:255:76: note: Passing null pointer value via 1st parameter 'a'
255 | if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
| ^~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:255:50: note: Calling 'secp256k1_gej_is_infinity'
255 | if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/group_impl.h:443:12: note: Access to field 'infinity' results in a dereference of a null pointer (loaded from variable 'a')
443 | return a->infinity;
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:65:20: warning: The left operand of '<' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
65 | no |= (a->d[3] < SECP256K1_N_3); /* No need for a > check. */
| ^
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:285:20: note: Assuming 'iter' is < 'iters'
285 | for (iter = 0; iter < iters; ++iter) {
| ^~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:285:5: note: Loop condition is true. Entering loop body
285 | for (iter = 0; iter < iters; ++iter) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:289:21: note: Assuming the condition is true
289 | for (i = 0; i + 1 < count; ++i) {
| ^~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:289:9: note: Loop condition is true. Entering loop body
289 | for (i = 0; i + 1 < count; ++i) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:290:13: note: Calling 'secp256k1_scalar_mul'
290 | secp256k1_scalar_mul(&tmp, &data->seckeys[(data->offset2++) % POINTS], &data->scalars[(data->offset1++) % POINTS]);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:861:5: note: Calling 'secp256k1_scalar_reduce_512'
861 | secp256k1_scalar_reduce_512(r, l);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:459:5: note: Loop condition is false. Exiting loop
459 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m0, sizeof(m0));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:460:5: note: Loop condition is false. Exiting loop
460 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m1, sizeof(m1));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:461:5: note: Loop condition is false. Exiting loop
461 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m2, sizeof(m2));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:462:5: note: Loop condition is false. Exiting loop
462 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m3, sizeof(m3));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:463:5: note: Loop condition is false. Exiting loop
463 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m4, sizeof(m4));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:464:5: note: Loop condition is false. Exiting loop
464 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m5, sizeof(m5));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:465:5: note: Loop condition is false. Exiting loop
465 | SECP256K1_CHECKMEM_MSAN_DEFINE(&m6, sizeof(m6));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:546:5: note: Loop condition is false. Exiting loop
546 | SECP256K1_CHECKMEM_MSAN_DEFINE(&p0, sizeof(p0));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:547:5: note: Loop condition is false. Exiting loop
547 | SECP256K1_CHECKMEM_MSAN_DEFINE(&p1, sizeof(p1));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:548:5: note: Loop condition is false. Exiting loop
548 | SECP256K1_CHECKMEM_MSAN_DEFINE(&p2, sizeof(p2));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:549:5: note: Loop condition is false. Exiting loop
549 | SECP256K1_CHECKMEM_MSAN_DEFINE(&p3, sizeof(p3));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:550:5: note: Loop condition is false. Exiting loop
550 | SECP256K1_CHECKMEM_MSAN_DEFINE(&p4, sizeof(p4));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:598:5: note: Loop condition is false. Exiting loop
598 | SECP256K1_CHECKMEM_MSAN_DEFINE(r, sizeof(*r));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:599:5: note: Loop condition is false. Exiting loop
599 | SECP256K1_CHECKMEM_MSAN_DEFINE(&c, sizeof(c));
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:675:36: note: Calling 'secp256k1_scalar_check_overflow'
675 | secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:65:20: note: The left operand of '<' is a garbage value
65 | no |= (a->d[3] < SECP256K1_N_3); /* No need for a > check. */
| ~~~~~~~ ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:902:48: warning: The left operand of '>>' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
902 | r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0;
| ^
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:185:17: note: Assuming the condition is true
185 | for (i = 0; i < iters/2; ++i) {
| ^~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:185:5: note: Loop condition is true. Entering loop body
185 | for (i = 0; i < iters/2; ++i) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/bench_ecmult.c:186:9: note: Calling 'secp256k1_ecmult'
186 | secp256k1_ecmult(&data->output[i], &data->pubkeys_gej[(data->offset1+i) % POINTS], &data->scalars[(data->offset2+i) % POINTS], &data->scalars[(data->offset1+i) % POINTS]);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:358:5: note: Calling 'secp256k1_ecmult_strauss_wnaf'
358 | secp256k1_ecmult_strauss_wnaf(&state, r, 1, a, na, ng);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:252:5: note: Loop condition is true. Entering loop body
252 | for (np = 0; np < num; ++np) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:255:13: note: Left side of '||' is false
255 | if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:255:50: note: Assuming the condition is false
255 | if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:255:9: note: Taking false branch
255 | if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) {
| ^
/home/runner/work/nightly-builds/nightly-builds/src/ecmult_impl.h:259:9: note: Calling 'secp256k1_scalar_split_lambda'
259 | secp256k1_scalar_split_lambda(&na_1, &na_lam, &na[np]);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_impl.h:166:5: note: Calling 'secp256k1_scalar_mul_shift_var'
166 | secp256k1_scalar_mul_shift_var(&c1, k, &g1, 384);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:898:5: note: Calling 'secp256k1_scalar_mul_512'
898 | secp256k1_scalar_mul_512(l, a, b);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:812:5: note: Loop condition is false. Exiting loop
812 | SECP256K1_CHECKMEM_MSAN_DEFINE(l8, sizeof(*l8) * 8);
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:60:50: note: expanded from macro 'SECP256K1_CHECKMEM_MSAN_DEFINE'
60 | # define SECP256K1_CHECKMEM_MSAN_DEFINE(p, len) SECP256K1_CHECKMEM_NOOP((p), (len))
| ^
/home/runner/work/nightly-builds/nightly-builds/src/checkmem.h:42:41: note: expanded from macro 'SECP256K1_CHECKMEM_NOOP'
42 | #define SECP256K1_CHECKMEM_NOOP(p, len) do { (void)(p); (void)(len); } while(0)
| ^
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:898:5: note: Returning from 'secp256k1_scalar_mul_512'
898 | secp256k1_scalar_mul_512(l, a, b);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:902:15: note: 'shift' is < 512
902 | r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0;
| ^~~~~
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:902:15: note: '?' condition is true
/home/runner/work/nightly-builds/nightly-builds/src/scalar_4x64_impl.h:902:48: note: The left operand of '>>' is a garbage value
902 | r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0;
| ~~~~~~~~~~~~~~~~~ ^