/in/bigint.c: In function 'add':
/in/bigint.c:109:9: error: suggest parentheses around assignment used as truth value [-Werror=parentheses]
if (up = 0)
^~
/in/bigint.c: In function 'mul':
/in/bigint.c:125:5: error: 'n' is used uninitialized in this function [-Werror=uninitialized]
for (i = 0; i < n; i++)
^~~
/in/bigint.c:127:5: error: 'm' is used uninitialized in this function [-Werror=uninitialized]
for (i = 0; i < m; i++)
^~~
/in/bigint.c:132:5: error: 'k' is used uninitialized in this function [-Werror=uninitialized]
for (i = 0; i <= k; i++)
^~~
/in/bigint.c: In function 'scan':
/in/bigint.c:42:18: error: iteration 2000 invokes undefined behavior [-Werror=aggressive-loop-optimizations]
a.val[i] = d.val[d.len - i];
~~~~~~~~~^~~~~~~~~~~~~~~~~~
/in/bigint.c:40:5: note: within this loop
for (int i = 0; i < d.len; i++)
^~~
/in/bigint.c: In function 'construct':
/in/bigint.c:62:20: error: iteration 2000 invokes undefined behavior [-Werror=aggressive-loop-optimizations]
big.val[i] = d.val[d.len - i];
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/in/bigint.c:60:5: note: within this loop
for (int i = 0; i < d.len; i++)
^~~
/in/bigint.c: In function 'add':
/in/bigint.c:116:18: error: iteration 2000 invokes undefined behavior [-Werror=aggressive-loop-optimizations]
c.val[i] = d.val[c.len - i];
~~~~~~~~~^~~~~~~~~~~~~~~~~~
/in/bigint.c:114:5: note: within this loop
for (int i = 0; i < c.len; i++)
^~~
cc1: all warnings being treated as errors