Compare commits

...

4 Commits

Author SHA1 Message Date
Jeremiah Orians 754c5de7d9
Add note about big endian architectures 2023-04-30 18:36:30 -04:00
Andrius Štikonas 85dd953b70 Add padding when loading global ints on 64-bit arches. 2023-04-30 23:18:48 +01:00
Jeremiah Orians f02aaaf67b
Update checksums to match 2023-01-08 20:23:19 -05:00
Andrius Štikonas b908dac7c5 Fix macro processing when they have brackets. 2023-01-08 00:56:57 +00:00
4 changed files with 22 additions and 9 deletions

View File

@ -2737,10 +2737,20 @@ void global_assignment()
globals_list = emit("\n", globals_list);
global_token = global_token->next;
require(NULL != global_token, "Global locals value in assignment\n");
unsigned padding_zeroes;
if(in_set(global_token->s[0], "0123456789"))
{ /* Assume Int */
globals_list = emit("%", globals_list);
globals_list = emit(global_token->s, globals_list);
/* broken for big endian architectures */
padding_zeroes = (register_size / 4) - 1;
while(padding_zeroes > 0)
{
/* Assume positive Int */
globals_list = emit(" %0", globals_list);
padding_zeroes = padding_zeroes - 1;
}
globals_list = emit("\n", globals_list);
}
else if(('"' == global_token->s[0]))

View File

@ -233,7 +233,10 @@ int macro_primary_expr()
else if('(' == macro_token->s[0])
{
eat_current_token();
return macro_expression();
hold = macro_expression();
require(')' == macro_token->s[0], "missing ) in macro expression\n");
eat_current_token();
return hold;
}
else if(match("defined", macro_token->s))
{

View File

@ -280,10 +280,10 @@ fe06db794391e8a9bcc7751a8b20120b8402aeaba4adf59e9274ee6f0751518e test/results/t
67aa68a06be6d18f1187a06c36c6955c7a16d47b50b464a71ea1459cd5673a59 test/results/test0106-riscv32-binary
a66c6cee11e9b59affe6dd953f84887a68ad57efe9f089cabb19d0c4c4626648 test/results/test0106-riscv64-binary
5e5d011745862a5726473e762d057c95fffeb44d317a0ebe90ef67040157e2ec test/results/test0106-x86-binary
9d8aa61dab395e71bd426f0a51dc8c61ef74b931213f7a0a69275519f2c0a55c test/results/test1000-aarch64-binary
b2d0388982b41e8198665e432524cf9a5697d595348f08aa407e0d5bd890141c test/results/test1000-amd64-binary
66f28931a06620caaed1011bcd9213f7c85a993c40cf100ff254eb52dae34a27 test/results/test1000-armv7l-binary
a7235952e40fa1ad53db909056d369344bc4f8f60063ee2d599e7825abbeb8c9 test/results/test1000-knight-posix-binary
c5dea9438154c6662e76dbb4e76f1894e53fc070a82d135f0eb01c7d7c738c1e test/results/test1000-riscv32-binary
599783f1643982bd1311de52e95e231797cfe2afc17a5b02cf97e9916ccc3ea9 test/results/test1000-riscv64-binary
9e755620983c84fe9fb491b0e3db20aa11331b559b22cce0810d1d3b4ae54584 test/results/test1000-x86-binary
e8b60d7bb0c6e09fc248601ceacea64b93e288ec7bf68144ed7f8c59fc632cb9 test/results/test1000-aarch64-binary
8aed2794e9b07dfd900fe0a6b91cd004a10259bd05debd0caf2f139de2b2f631 test/results/test1000-amd64-binary
b3479ffc8ac398458ccca614a9a63d94de066e3726133c7937903d8b9dbe8666 test/results/test1000-armv7l-binary
62b958a16dcad2d79efc092afac421a1450193958ac724c38b28ccef774726a1 test/results/test1000-knight-posix-binary
37f72135babbe8c29baf6c98846ba336a3f28e30ae30ce86d4cdcad6ba3a9e64 test/results/test1000-riscv32-binary
512e83b3b930b0b09fa65b508f90fcb4bd973dbbe55738a053fe23a917398dcd test/results/test1000-riscv64-binary
0f6c93378651b59df933aefa311bdfa518ad2d75c4add37d0550f483e096a228 test/results/test1000-x86-binary

View File

@ -1 +1 @@
3f265751bbe5d7085075fa58740004d9c1c3d57860b78ac2384726a16abc5a69 test/test1000/proof
e324cd48664a7563af5f49faaa3d8c6ceb33e2c6201f60424a5029ecec84a86a test/test1000/proof