+ case "${usergroup_phase}" in + local run_cmd + run_cmd=run_su + shift + run_su /usr/pkg/bin/bmake all BATCH=1 DEPENDS_TARGET=/nonexistent WRKLOG=/tmp/bulklog/monocypher-3.1.1/work.log + su pbulk -c '"$@"' make /usr/pkg/bin/bmake all BATCH=1 DEPENDS_TARGET=/nonexistent WRKLOG=/tmp/bulklog/monocypher-3.1.1/work.log => Bootstrap dependency digest>=20211023: found digest-20220214 ===> Building for monocypher-3.1.1 cc -pedantic -Wall -Wextra -O3 -march=native -I src -I src/optional -fPIC -c -o lib/monocypher.o src/monocypher.c src/monocypher.c:1:1: warning: C++ style comments are not allowed in ISO C90 [enabled by default] // Monocypher version 3.1.1 ^ src/monocypher.c:1:1: warning: (this will be reported only once per input file) [enabled by default] In file included from src/monocypher.c:54:0: src/monocypher.h:1:1: warning: C++ style comments are not allowed in ISO C90 [enabled by default] // Monocypher version 3.1.1 ^ src/monocypher.h:1:1: warning: (this will be reported only once per input file) [enabled by default] src/monocypher.c: In function 'load32_le_buf': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:123:5: note: in expansion of macro 'FOR' FOR(i, 0, size) { dst[i] = load32_le(src + i*4); } ^ src/monocypher.c:59:36: note: use option -std=c99 or -std=gnu99 to compile your code #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:123:5: note: in expansion of macro 'FOR' FOR(i, 0, size) { dst[i] = load32_le(src + i*4); } ^ src/monocypher.c: In function 'load64_le_buf': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:126:5: note: in expansion of macro 'FOR' FOR(i, 0, size) { dst[i] = load64_le(src + i*8); } ^ src/monocypher.c: In function 'store32_le_buf': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:129:5: note: in expansion of macro 'FOR' FOR(i, 0, size) { store32_le(dst + i*4, src[i]); } ^ src/monocypher.c: In function 'store64_le_buf': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:132:5: note: in expansion of macro 'FOR' FOR(i, 0, size) { store64_le(dst + i*8, src[i]); } ^ src/monocypher.c: In function 'crypto_wipe': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:164:5: note: in expansion of macro 'ZERO' ZERO(v_secret, size); ^ src/monocypher.c: In function 'chacha20_rounds': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:184:5: note: in expansion of macro 'FOR' FOR (i, 0, 10) { // 20 rounds, 2 rounds per loop. ^ src/monocypher.c: In function 'chacha20_core': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:212:5: note: in expansion of macro 'FOR' FOR (i, 0, nb_blocks) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:215:13: note: in expansion of macro 'FOR' FOR (j, 0, 16) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:222:13: note: in expansion of macro 'FOR' FOR (j, 0, 16) { ^ src/monocypher.c:241:9: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u8 tmp[64]; ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:242:9: note: in expansion of macro 'FOR' FOR (i, 0, 16) { ^ src/monocypher.c:245:14: error: redefinition of 'i' FOR (i, 0, text_size) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:245:9: note: in expansion of macro 'FOR' FOR (i, 0, text_size) { ^ src/monocypher.c:242:14: note: previous definition of 'i' was here FOR (i, 0, 16) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:242:9: note: in expansion of macro 'FOR' FOR (i, 0, 16) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:245:9: note: in expansion of macro 'FOR' FOR (i, 0, text_size) { ^ src/monocypher.c: In function 'poly_clear_c': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:381:5: note: in expansion of macro 'ZERO' ZERO(ctx->c, 4); ^ src/monocypher.c: In function 'poly_update': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:396:5: note: in expansion of macro 'FOR' FOR (i, 0, message_size) { ^ src/monocypher.c: In function 'crypto_poly1305_init': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:408:5: note: in expansion of macro 'ZERO' ZERO(ctx->h, 5); ^ src/monocypher.c:415:10: error: redefinition of 'i' FOR (i, 0, 1) { ctx->r[i] &= 0x0fffffff; } ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:415:5: note: in expansion of macro 'FOR' FOR (i, 0, 1) { ctx->r[i] &= 0x0fffffff; } ^ src/monocypher.c:62:40: note: previous definition of 'i' was here #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:408:5: note: in expansion of macro 'ZERO' ZERO(ctx->h, 5); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:415:5: note: in expansion of macro 'FOR' FOR (i, 0, 1) { ctx->r[i] &= 0x0fffffff; } ^ src/monocypher.c:416:10: error: redefinition of 'i' FOR (i, 1, 4) { ctx->r[i] &= 0x0ffffffc; } ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:416:5: note: in expansion of macro 'FOR' FOR (i, 1, 4) { ctx->r[i] &= 0x0ffffffc; } ^ src/monocypher.c:415:10: note: previous definition of 'i' was here FOR (i, 0, 1) { ctx->r[i] &= 0x0fffffff; } ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:415:5: note: in expansion of macro 'FOR' FOR (i, 0, 1) { ctx->r[i] &= 0x0fffffff; } ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:416:5: note: in expansion of macro 'FOR' FOR (i, 1, 4) { ctx->r[i] &= 0x0ffffffc; } ^ src/monocypher.c: In function 'crypto_poly1305_update': src/monocypher.c:426:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] size_t aligned = MIN(align(ctx->c_idx, 16), message_size); ^ src/monocypher.c:432:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] size_t nb_blocks = message_size >> 4; ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:433:5: note: in expansion of macro 'FOR' FOR (i, 0, nb_blocks) { ^ src/monocypher.c: In function 'crypto_poly1305_final': src/monocypher.c:461:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] const u64 u0 = (u64)5 + ctx->h[0]; // <= 1_00000004 ^ src/monocypher.c: In function 'blake2b_set_input': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:576:9: note: in expansion of macro 'ZERO' ZERO(ctx->input, 16); ^ src/monocypher.c:578:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] size_t word = index >> 3; ^ src/monocypher.c: In function 'blake2b_update': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:596:5: note: in expansion of macro 'FOR' FOR (i, 0, message_size) { ^ src/monocypher.c: In function 'crypto_blake2b_general_init': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:607:5: note: in expansion of macro 'COPY' COPY(ctx->hash, iv, 8); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:618:9: note: in expansion of macro 'COPY' COPY(key_block, key, key_size); ^ src/monocypher.c: In function 'crypto_blake2b_update': src/monocypher.c:637:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] size_t aligned = MIN(align(ctx->input_idx, 128), message_size); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:643:5: note: in expansion of macro 'FOR' FOR (i, 0, message_size >> 7) { // number of blocks ^ src/monocypher.c: In function 'crypto_blake2b_final': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:658:5: note: in expansion of macro 'FOR' FOR (i, ctx->input_idx, 128) { ^ src/monocypher.c:663:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] size_t nb_words = ctx->hash_size >> 3; ^ src/monocypher.c:665:10: error: redefinition of 'i' FOR (i, nb_words << 3, ctx->hash_size) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:665:5: note: in expansion of macro 'FOR' FOR (i, nb_words << 3, ctx->hash_size) { ^ src/monocypher.c:658:10: note: previous definition of 'i' was here FOR (i, ctx->input_idx, 128) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:658:5: note: in expansion of macro 'FOR' FOR (i, ctx->input_idx, 128) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:665:5: note: in expansion of macro 'FOR' FOR (i, nb_words << 3, ctx->hash_size) { ^ src/monocypher.c: In function 'wipe_block': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:714:5: note: in expansion of macro 'ZERO' ZERO(a, 128); ^ src/monocypher.c: In function 'copy_block': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:736:49: note: in expansion of macro 'FOR' static void copy_block(block *o,const block*in){FOR(i,0,128)o->a[i] = in->a[i];} ^ src/monocypher.c: In function 'xor_block': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:737:49: note: in expansion of macro 'FOR' static void xor_block(block *o,const block*in){FOR(i,0,128)o->a[i]^= in->a[i];} ^ src/monocypher.c: In function 'g_rounds': src/monocypher.c:790:5: error: 'for' loop initial declarations are only allowed in C99 mode for (int i = 0; i < 128; i += 16) { ^ src/monocypher.c:801:14: error: redefinition of 'i' for (int i = 0; i < 16; i += 2) { ^ src/monocypher.c:790:14: note: previous definition of 'i' was here for (int i = 0; i < 128; i += 16) { ^ src/monocypher.c:801:5: error: 'for' loop initial declarations are only allowed in C99 mode for (int i = 0; i < 16; i += 2) { ^ src/monocypher.c: In function 'gidx_refresh': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:872:5: note: in expansion of macro 'ZERO' ZERO(ctx->b.a + 7, 121); // ...then zero the rest out ^ src/monocypher.c:876:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] block tmp; ^ src/monocypher.c: In function 'gidx_next': src/monocypher.c:911:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u32 index = ctx->offset & 127; // save index for current call ^ src/monocypher.c:921:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] int first_pass = ctx->pass_number == 0; ^ src/monocypher.c: In function 'crypto_argon2i_general': src/monocypher.c:971:9: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u8 initial_hash[72]; // 64 bytes plus 2 words for future hashes ^ src/monocypher.c:975:9: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] block tmp_block; ^ src/monocypher.c:995:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] const u32 segment_size = nb_blocks >> 2; ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1000:5: note: in expansion of macro 'FOR_T' FOR_T (u32, pass_number, 0, nb_iterations) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1003:9: note: in expansion of macro 'FOR_T' FOR_T (u32, segment, 0, 4) { ^ src/monocypher.c:1009:13: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u32 start_offset = first_pass && segment == 0 ? 2 : 0; ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1012:13: note: in expansion of macro 'FOR_T' FOR_T (u32, current_block, segment_start, segment_end) { ^ src/monocypher.c:1027:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u8 final_block[1024]; ^ src/monocypher.c:1033:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] volatile u64 *p = (u64*)work_area; ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:1034:5: note: in expansion of macro 'ZERO' ZERO(p, 128 * nb_blocks); ^ src/monocypher.c: In function 'fe_0': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:1077:36: note: in expansion of macro 'ZERO' static void fe_0(fe h) { ZERO(h , 10); } ^ src/monocypher.c: In function 'fe_1': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:1078:36: note: in expansion of macro 'ZERO' static void fe_1(fe h) { h[0] = 1; ZERO(h+1, 9); } ^ src/monocypher.c: In function 'fe_copy': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1080:49: note: in expansion of macro 'FOR' static void fe_copy(fe h,const fe f ){FOR(i,0,10) h[i] = f[i]; } ^ src/monocypher.c: In function 'fe_neg': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1081:49: note: in expansion of macro 'FOR' static void fe_neg (fe h,const fe f ){FOR(i,0,10) h[i] = -f[i]; } ^ src/monocypher.c: In function 'fe_add': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1082:49: note: in expansion of macro 'FOR' static void fe_add (fe h,const fe f,const fe g){FOR(i,0,10) h[i] = f[i] + g[i];} ^ src/monocypher.c: In function 'fe_sub': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1083:49: note: in expansion of macro 'FOR' static void fe_sub (fe h,const fe f,const fe g){FOR(i,0,10) h[i] = f[i] - g[i];} ^ src/monocypher.c: In function 'fe_cswap': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1088:5: note: in expansion of macro 'FOR' FOR (i, 0, 10) { ^ src/monocypher.c: In function 'fe_ccopy': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1098:5: note: in expansion of macro 'FOR' FOR (i, 0, 10) { ^ src/monocypher.c: In function 'fe_tobytes': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:1139:5: note: in expansion of macro 'COPY' COPY(t, h, 10); ^ src/monocypher.c:1140:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] i32 q = (19 * t[9] + (((i32) 1) << 24)) >> 25; ^ src/monocypher.c:1141:10: error: redefinition of 'i' FOR (i, 0, 5) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1141:5: note: in expansion of macro 'FOR' FOR (i, 0, 5) { ^ src/monocypher.c:61:40: note: previous definition of 'i' was here #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:1139:5: note: in expansion of macro 'COPY' COPY(t, h, 10); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1141:5: note: in expansion of macro 'FOR' FOR (i, 0, 5) { ^ src/monocypher.c:1147:10: error: redefinition of 'i' FOR (i, 0, 5) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1147:5: note: in expansion of macro 'FOR' FOR (i, 0, 5) { ^ src/monocypher.c:1141:10: note: previous definition of 'i' was here FOR (i, 0, 5) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1141:5: note: in expansion of macro 'FOR' FOR (i, 0, 5) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1147:5: note: in expansion of macro 'FOR' FOR (i, 0, 5) { ^ src/monocypher.c: In function 'fe_pow22523': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1261:21: note: in expansion of macro 'FOR' fe_sq(t1, t0); FOR (i, 1, 5) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:1262:26: error: redefinition of 'i' fe_sq(t1, t0); FOR (i, 1, 10) fe_sq(t1, t1); fe_mul(t1, t1, t0); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1262:21: note: in expansion of macro 'FOR' fe_sq(t1, t0); FOR (i, 1, 10) fe_sq(t1, t1); fe_mul(t1, t1, t0); ^ src/monocypher.c:1261:26: note: previous definition of 'i' was here fe_sq(t1, t0); FOR (i, 1, 5) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1261:21: note: in expansion of macro 'FOR' fe_sq(t1, t0); FOR (i, 1, 5) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1262:21: note: in expansion of macro 'FOR' fe_sq(t1, t0); FOR (i, 1, 10) fe_sq(t1, t1); fe_mul(t1, t1, t0); ^ src/monocypher.c:1263:26: error: redefinition of 'i' fe_sq(t2, t1); FOR (i, 1, 20) fe_sq(t2, t2); fe_mul(t1, t2, t1); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1263:21: note: in expansion of macro 'FOR' fe_sq(t2, t1); FOR (i, 1, 20) fe_sq(t2, t2); fe_mul(t1, t2, t1); ^ src/monocypher.c:1262:26: note: previous definition of 'i' was here fe_sq(t1, t0); FOR (i, 1, 10) fe_sq(t1, t1); fe_mul(t1, t1, t0); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1262:21: note: in expansion of macro 'FOR' fe_sq(t1, t0); FOR (i, 1, 10) fe_sq(t1, t1); fe_mul(t1, t1, t0); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1263:21: note: in expansion of macro 'FOR' fe_sq(t2, t1); FOR (i, 1, 20) fe_sq(t2, t2); fe_mul(t1, t2, t1); ^ src/monocypher.c:1264:26: error: redefinition of 'i' fe_sq(t1, t1); FOR (i, 1, 10) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1264:21: note: in expansion of macro 'FOR' fe_sq(t1, t1); FOR (i, 1, 10) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:1263:26: note: previous definition of 'i' was here fe_sq(t2, t1); FOR (i, 1, 20) fe_sq(t2, t2); fe_mul(t1, t2, t1); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1263:21: note: in expansion of macro 'FOR' fe_sq(t2, t1); FOR (i, 1, 20) fe_sq(t2, t2); fe_mul(t1, t2, t1); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1264:21: note: in expansion of macro 'FOR' fe_sq(t1, t1); FOR (i, 1, 10) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:1265:26: error: redefinition of 'i' fe_sq(t1, t0); FOR (i, 1, 50) fe_sq(t1, t1); fe_mul(t1, t1, t0); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1265:21: note: in expansion of macro 'FOR' fe_sq(t1, t0); FOR (i, 1, 50) fe_sq(t1, t1); fe_mul(t1, t1, t0); ^ src/monocypher.c:1264:26: note: previous definition of 'i' was here fe_sq(t1, t1); FOR (i, 1, 10) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1264:21: note: in expansion of macro 'FOR' fe_sq(t1, t1); FOR (i, 1, 10) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1265:21: note: in expansion of macro 'FOR' fe_sq(t1, t0); FOR (i, 1, 50) fe_sq(t1, t1); fe_mul(t1, t1, t0); ^ src/monocypher.c:1266:26: error: redefinition of 'i' fe_sq(t2, t1); FOR (i, 1, 100) fe_sq(t2, t2); fe_mul(t1, t2, t1); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1266:21: note: in expansion of macro 'FOR' fe_sq(t2, t1); FOR (i, 1, 100) fe_sq(t2, t2); fe_mul(t1, t2, t1); ^ src/monocypher.c:1265:26: note: previous definition of 'i' was here fe_sq(t1, t0); FOR (i, 1, 50) fe_sq(t1, t1); fe_mul(t1, t1, t0); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1265:21: note: in expansion of macro 'FOR' fe_sq(t1, t0); FOR (i, 1, 50) fe_sq(t1, t1); fe_mul(t1, t1, t0); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1266:21: note: in expansion of macro 'FOR' fe_sq(t2, t1); FOR (i, 1, 100) fe_sq(t2, t2); fe_mul(t1, t2, t1); ^ src/monocypher.c:1267:26: error: redefinition of 'i' fe_sq(t1, t1); FOR (i, 1, 50) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1267:21: note: in expansion of macro 'FOR' fe_sq(t1, t1); FOR (i, 1, 50) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:1266:26: note: previous definition of 'i' was here fe_sq(t2, t1); FOR (i, 1, 100) fe_sq(t2, t2); fe_mul(t1, t2, t1); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1266:21: note: in expansion of macro 'FOR' fe_sq(t2, t1); FOR (i, 1, 100) fe_sq(t2, t2); fe_mul(t1, t2, t1); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1267:21: note: in expansion of macro 'FOR' fe_sq(t1, t1); FOR (i, 1, 50) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:1268:26: error: redefinition of 'i' fe_sq(t0, t0); FOR (i, 1, 2) fe_sq(t0, t0); fe_mul(out, t0, z); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1268:21: note: in expansion of macro 'FOR' fe_sq(t0, t0); FOR (i, 1, 2) fe_sq(t0, t0); fe_mul(out, t0, z); ^ src/monocypher.c:1267:26: note: previous definition of 'i' was here fe_sq(t1, t1); FOR (i, 1, 50) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1267:21: note: in expansion of macro 'FOR' fe_sq(t1, t1); FOR (i, 1, 50) fe_sq(t1, t1); fe_mul(t0, t1, t0); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1268:21: note: in expansion of macro 'FOR' fe_sq(t0, t0); FOR (i, 1, 2) fe_sq(t0, t0); fe_mul(out, t0, z); ^ src/monocypher.c: In function 'fe_isodd': src/monocypher.c:1293:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u8 isodd = s[0] & 1; ^ src/monocypher.c: In function 'fe_isnonzero': src/monocypher.c:1303:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] int isnonzero = zerocmp32(s); ^ src/monocypher.c: In function 'fe_isequal': src/monocypher.c:1313:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] int isdifferent = fe_isnonzero(diff); ^ src/monocypher.c: In function 'invsqrt': src/monocypher.c:1382:29: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] fe_1 (check); int p1 = fe_isequal(quartic, check); ^ src/monocypher.c:1383:29: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] fe_neg(check, check ); int m1 = fe_isequal(quartic, check); ^ src/monocypher.c:1384:29: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] fe_neg(check, sqrtm1); int ms = fe_isequal(quartic, check); ^ src/monocypher.c: In function 'scalarmult': src/monocypher.c:1418:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] fe x2, z2, x3, z3, t0, t1; ^ src/monocypher.c:1424:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] int swap = 0; ^ src/monocypher.c:1425:5: error: 'for' loop initial declarations are only allowed in C99 mode for (int pos = nb_bits-1; pos >= 0; --pos) { ^ src/monocypher.c: In function 'crypto_x25519': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:1475:5: note: in expansion of macro 'COPY' COPY(e, your_secret_key, 32); ^ src/monocypher.c: In function 'modL': src/monocypher.c:1499:5: error: 'for' loop initial declarations are only allowed in C99 mode for (unsigned i = 63; i >= 32; i--) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1501:9: note: in expansion of macro 'FOR' FOR (j, i-32, i-12) { ^ src/monocypher.c:1509:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] i64 carry = 0; ^ src/monocypher.c:1510:10: error: conflicting types for 'i' FOR (i, 0, 32) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1510:5: note: in expansion of macro 'FOR' FOR (i, 0, 32) { ^ src/monocypher.c:1499:19: note: previous definition of 'i' was here for (unsigned i = 63; i >= 32; i--) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1510:5: note: in expansion of macro 'FOR' FOR (i, 0, 32) { ^ src/monocypher.c:1515:10: error: redefinition of 'i' FOR (i, 0, 32) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1515:5: note: in expansion of macro 'FOR' FOR (i, 0, 32) { ^ src/monocypher.c:1510:10: note: previous definition of 'i' was here FOR (i, 0, 32) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1510:5: note: in expansion of macro 'FOR' FOR (i, 0, 32) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1515:5: note: in expansion of macro 'FOR' FOR (i, 0, 32) { ^ src/monocypher.c:1518:10: error: redefinition of 'i' FOR (i, 0, 32) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1518:5: note: in expansion of macro 'FOR' FOR (i, 0, 32) { ^ src/monocypher.c:1515:10: note: previous definition of 'i' was here FOR (i, 0, 32) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1515:5: note: in expansion of macro 'FOR' FOR (i, 0, 32) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1518:5: note: in expansion of macro 'FOR' FOR (i, 0, 32) { ^ src/monocypher.c: In function 'reduce': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:1528:5: note: in expansion of macro 'COPY' COPY(x, r, 64); ^ src/monocypher.c: In function 'mul_add': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1537:5: note: in expansion of macro 'FOR' FOR (i, 0, 32) { ^ src/monocypher.c:62:40: error: redefinition of 'i' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:1540:5: note: in expansion of macro 'ZERO' ZERO(s + 32, 32); ^ src/monocypher.c:1537:10: note: previous definition of 'i' was here FOR (i, 0, 32) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1537:5: note: in expansion of macro 'FOR' FOR (i, 0, 32) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:1540:5: note: in expansion of macro 'ZERO' ZERO(s + 32, 32); ^ src/monocypher.c:1541:10: error: redefinition of 'i' FOR (i, 0, 32) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1541:5: note: in expansion of macro 'FOR' FOR (i, 0, 32) { ^ src/monocypher.c:62:40: note: previous definition of 'i' was here #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:1540:5: note: in expansion of macro 'ZERO' ZERO(s + 32, 32); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1541:5: note: in expansion of macro 'FOR' FOR (i, 0, 32) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1542:9: note: in expansion of macro 'FOR' FOR (j, 0, 32) { ^ src/monocypher.c: In function 'is_above_L': src/monocypher.c:1553:5: error: 'for' loop initial declarations are only allowed in C99 mode for (int i = 31; i >= 0; i--) { ^ src/monocypher.c: In function 'ge_frombytes_vartime': src/monocypher.c:1631:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] int is_square = invsqrt(h->X, h->X); ^ src/monocypher.c: In function 'slide_step': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:1835:13: note: in expansion of macro 'FOR_T' FOR_T (int, j, 0, w-1) { ^ src/monocypher.c:1839:13: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] int lsb = v & (~v + 1); // smallest bit of v ^ src/monocypher.c: In function 'ge_double_scalarmult_vartime': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:1867:9: note: in expansion of macro 'FOR' FOR (i, 1, P_W_SIZE) { ^ src/monocypher.c:1874:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] slide_ctx p_slide; slide_init(&p_slide, p); ^ src/monocypher.c:1875:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] slide_ctx b_slide; slide_init(&b_slide, b); ^ src/monocypher.c:1876:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] int i = MAX(p_slide.next_check, b_slide.next_check); ^ src/monocypher.c:1882:9: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] int p_digit = slide_step(&p_slide, P_W_WIDTH, i, p); ^ src/monocypher.c:1886:9: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] fe t1, t2; ^ src/monocypher.c: In function 'ge_scalarmult_base': src/monocypher.c:2032:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] fe a, n2; // temporaries for addition ^ src/monocypher.c:2036:5: error: 'for' loop initial declarations are only allowed in C99 mode for (int i = 50; i >= 0; i--) { ^ src/monocypher.c:2043:9: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u8 teeth = (u8)((scalar_bit(s_scalar, i) ) + ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:2050:9: note: in expansion of macro 'FOR' FOR (j, 0, 16) { ^ src/monocypher.c: In function 'crypto_sign_public_key_custom_hash': src/monocypher.c:2073:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] ge A; ^ src/monocypher.c: In function 'crypto_sign_init_first_pass_custom_hash': src/monocypher.c:2092:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u8 *a = ctx->buf; ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2100:9: note: in expansion of macro 'COPY' COPY(ctx->pk, public_key, 32); ^ src/monocypher.c: In function 'crypto_sign_init_second_pass': src/monocypher.c:2134:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] ge R; ^ src/monocypher.c: In function 'crypto_sign_final': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2154:5: note: in expansion of macro 'COPY' COPY(signature, half_sig, 32); ^ src/monocypher.c: In function 'crypto_check_init_custom_hash': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2180:5: note: in expansion of macro 'COPY' COPY(ctx->buf, signature , 64); ^ src/monocypher.c:61:40: error: redefinition of 'i' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2181:5: note: in expansion of macro 'COPY' COPY(ctx->pk , public_key, 32); ^ src/monocypher.c:61:40: note: previous definition of 'i' was here #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2180:5: note: in expansion of macro 'COPY' COPY(ctx->buf, signature , 64); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2181:5: note: in expansion of macro 'COPY' COPY(ctx->pk , public_key, 32); ^ src/monocypher.c: In function 'crypto_check_final': src/monocypher.c:2205:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u8 *R = ctx->buf; // R ^ src/monocypher.c: In function 'crypto_from_eddsa_private': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2231:5: note: in expansion of macro 'COPY' COPY(x25519, a, 32); ^ src/monocypher.c: In function 'add_xl': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:2303:5: note: in expansion of macro 'FOR' FOR (i , 0, 32) { ^ src/monocypher.c: In function 'crypto_x25519_dirty_small': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2334:5: note: in expansion of macro 'COPY' COPY(scalar, secret_key, 32); ^ src/monocypher.c: In function 'crypto_x25519_dirty_fast': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2363:5: note: in expansion of macro 'COPY' COPY(scalar, secret_key, 32); ^ src/monocypher.c:2377:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u8 cofactor = secret_key[0] & 7; ^ src/monocypher.c:2393:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] ge_precomp low_order_point; ^ src/monocypher.c: In function 'crypto_hidden_to_curve': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2483:5: note: in expansion of macro 'COPY' COPY(clamped, hidden, 32); ^ src/monocypher.c:2486:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] fe r, u, t1, t2, t3; ^ src/monocypher.c:2496:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] int is_square = invsqrt(t1, t1); ^ src/monocypher.c: In function 'crypto_curve_to_hidden': src/monocypher.c:2559:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] int is_square = invsqrt(t3, t3); ^ src/monocypher.c: In function 'crypto_hidden_key_pair': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2589:5: note: in expansion of macro 'COPY' COPY(buf + 32, seed, 32); ^ src/monocypher.c:61:40: error: redefinition of 'i' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2601:5: note: in expansion of macro 'COPY' COPY(hidden , buf + 32, 32); ^ src/monocypher.c:61:40: note: previous definition of 'i' was here #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2589:5: note: in expansion of macro 'COPY' COPY(buf + 32, seed, 32); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2601:5: note: in expansion of macro 'COPY' COPY(hidden , buf + 32, 32); ^ src/monocypher.c:61:40: error: redefinition of 'i' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2602:5: note: in expansion of macro 'COPY' COPY(secret_key, buf , 32); ^ src/monocypher.c:61:40: note: previous definition of 'i' was here #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2601:5: note: in expansion of macro 'COPY' COPY(hidden , buf + 32, 32); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2602:5: note: in expansion of macro 'COPY' COPY(secret_key, buf , 32); ^ src/monocypher.c: In function 'multiply': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:2623:5: note: in expansion of macro 'ZERO' ZERO(p, 16); ^ src/monocypher.c:2624:10: error: redefinition of 'i' FOR (i, 0, 8) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:2624:5: note: in expansion of macro 'FOR' FOR (i, 0, 8) { ^ src/monocypher.c:62:40: note: previous definition of 'i' was here #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:2623:5: note: in expansion of macro 'ZERO' ZERO(p, 16); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:2624:5: note: in expansion of macro 'FOR' FOR (i, 0, 8) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:2626:9: note: in expansion of macro 'FOR' FOR (j, 0, 8) { ^ src/monocypher.c: In function 'redc': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:2656:5: note: in expansion of macro 'FOR' FOR (i, 0, 8) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:2658:9: note: in expansion of macro 'FOR' FOR (j, 0, 8-i) { ^ src/monocypher.c:2664:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u32 t[16]; ^ src/monocypher.c:2668:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u64 carry = 0; ^ src/monocypher.c:2669:10: error: redefinition of 'i' FOR (i, 0, 16) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:2669:5: note: in expansion of macro 'FOR' FOR (i, 0, 16) { ^ src/monocypher.c:2656:10: note: previous definition of 'i' was here FOR (i, 0, 8) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:2656:5: note: in expansion of macro 'FOR' FOR (i, 0, 8) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:2669:5: note: in expansion of macro 'FOR' FOR (i, 0, 16) { ^ src/monocypher.c:2681:10: error: redefinition of 'i' FOR (i, 0, 8) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:2681:5: note: in expansion of macro 'FOR' FOR (i, 0, 8) { ^ src/monocypher.c:2669:10: note: previous definition of 'i' was here FOR (i, 0, 16) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:2669:5: note: in expansion of macro 'FOR' FOR (i, 0, 16) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:2681:5: note: in expansion of macro 'FOR' FOR (i, 0, 8) { ^ src/monocypher.c:2685:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u32 mask = ~(u32)carry + 1; // carry == 0 or 1 ^ src/monocypher.c:2686:10: error: redefinition of 'i' FOR (i, 0, 8) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:2686:5: note: in expansion of macro 'FOR' FOR (i, 0, 8) { ^ src/monocypher.c:2681:10: note: previous definition of 'i' was here FOR (i, 0, 8) { ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:2681:5: note: in expansion of macro 'FOR' FOR (i, 0, 8) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:2686:5: note: in expansion of macro 'FOR' FOR (i, 0, 8) { ^ src/monocypher.c: In function 'crypto_x25519_inverse': src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2707:5: note: in expansion of macro 'COPY' COPY(scalar, private_key, 32); ^ src/monocypher.c:2712:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u32 m_scl[8]; ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:2715:9: note: in expansion of macro 'ZERO' ZERO(tmp, 32); ^ src/monocypher.c:61:40: error: redefinition of 'i' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2716:9: note: in expansion of macro 'COPY' COPY(tmp+32, scalar, 32); ^ src/monocypher.c:62:40: note: previous definition of 'i' was here #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:2715:9: note: in expansion of macro 'ZERO' ZERO(tmp, 32); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2716:9: note: in expansion of macro 'COPY' COPY(tmp+32, scalar, 32); ^ src/monocypher.c:2722:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u32 product[16]; ^ src/monocypher.c:2723:14: error: conflicting types for 'i' for (int i = 252; i >= 0; i--) { ^ src/monocypher.c:61:40: note: previous definition of 'i' was here #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2707:5: note: in expansion of macro 'COPY' COPY(scalar, private_key, 32); ^ src/monocypher.c:2723:5: error: 'for' loop initial declarations are only allowed in C99 mode for (int i = 252; i >= 0; i--) { ^ src/monocypher.c:61:40: error: conflicting types for 'i' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2733:5: note: in expansion of macro 'COPY' COPY(product, m_inv, 8); ^ src/monocypher.c:2723:14: note: previous definition of 'i' was here for (int i = 252; i >= 0; i--) { ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2733:5: note: in expansion of macro 'COPY' COPY(product, m_inv, 8); ^ src/monocypher.c:62:40: error: redefinition of 'i' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:2734:5: note: in expansion of macro 'ZERO' ZERO(product + 8, 8); ^ src/monocypher.c:61:40: note: previous definition of 'i' was here #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:59:46: note: in definition of macro 'FOR_T' #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:61:36: note: in expansion of macro 'FOR' #define COPY(dst, src, size) FOR(i, 0, size) (dst)[i] = (src)[i] ^ src/monocypher.c:2733:5: note: in expansion of macro 'COPY' COPY(product, m_inv, 8); ^ src/monocypher.c:59:36: error: 'for' loop initial declarations are only allowed in C99 mode #define FOR_T(type, i, start, end) for (type i = (start); i < (end); i++) ^ src/monocypher.c:60:36: note: in expansion of macro 'FOR_T' #define FOR(i, start, end) FOR_T(size_t, i, start, end) ^ src/monocypher.c:62:36: note: in expansion of macro 'FOR' #define ZERO(buf, size) FOR(i, 0, size) (buf)[i] = 0 ^ src/monocypher.c:2734:5: note: in expansion of macro 'ZERO' ZERO(product + 8, 8); ^ src/monocypher.c: In function 'lock_auth': src/monocypher.c:2764:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] crypto_poly1305_ctx poly_ctx; // auto wiped... ^ src/monocypher.c: In function 'crypto_unlock_aead': src/monocypher.c:2799:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] u8 real_mac[16]; ^ make: *** [lib/monocypher.o] Error 1 *** Error code 2 Stop. bmake[1]: stopped in /data/jenkins/workspace/pkgsrc-el7-trunk-x86_64/security/monocypher *** Error code 1 Stop. bmake: stopped in /data/jenkins/workspace/pkgsrc-el7-trunk-x86_64/security/monocypher