I enabled serpent for mos6502 and noticed a warning during compilation.
cases/serpent/serpent_op_encrypt.c:642: warning 147: excess elements in array of chars initializer after 'test_data'
This is because in the source the char array is 16 bytes long, but 16 characters between quotes are 17 bytes long.
const struct test
{
int key_length;
unsigned char key[32];
unsigned char text_plain[16];
unsigned char text_cipher[16];
} test_data[] =
{
{
16,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
"\xD2\x9D\x57\x6F\xCE\xA3\xA3\xA7\xED\x90\x99\xF2\x92\x73\xD7\x8E",
"\xB2\x28\x8B\x96\x8A\xE8\xB0\x86\x48\xD1\xCE\x96\x06\xFD\x99\x2D"
},
should we change the assignment to { 0xd2, 0x9d, ... }, to avoid the warning?
Since this is already in the upstream source, I'd recommend to just use
#pragma disable_warningin tests/serpent.c.in.