Jeremiah Orians
a025387b81
Catch walking off the end of a variable dereference
2021-11-11 09:48:26 -05:00
Andrius Štikonas
6ebe45f369
Implement variable dereferencing.
2021-11-10 00:14:30 +00:00
Jeremiah Orians
6d4d6c56ea
Catch the special case of attempting to remove a NULL macro token
2021-11-07 19:49:57 -05:00
Andrius Štikonas
546cb1ac95
Add support for char** arrays.
2021-11-07 21:18:59 +00:00
Jeremiah Orians
cdb09b1608
Catch trying to expand nulls
2021-11-07 00:19:20 -04:00
Jeremiah Orians
ff65efa99e
Catch lookup_macro being passed NULL
2021-11-06 22:49:34 -04:00
Jeremiah Orians
876ebe7c68
catch half broken #define (statements
2021-11-06 22:36:02 -04:00
Jeremiah Orians
9997d7a275
catch garbage at the end of a #define
2021-11-06 21:55:22 -04:00
Andrius Štikonas
2da7b3f9a0
Implement #undef.
2021-11-02 22:04:11 +00:00
Andrius Štikonas
e3651879a5
Define arch specific variables.
2021-11-01 20:50:11 +00:00
Andrius Štikonas
de8f47fa9c
Add support for evaluating macro variables.
2021-11-01 20:49:11 +00:00
Andrius Štikonas
7de9e684a6
Implement #error statement in preprocessor.
2021-10-31 23:33:00 +00:00
Andrius Štikonas
7a7bfd4529
Implement #ifdef and #ifndef.
2021-10-30 22:51:17 +01:00
Andrius Štikonas
945743e2c6
Add support for empty defines.
2021-10-30 22:16:24 +01:00
Jeremiah Orians
54e5daace4
Update test1000 sha256sum
2021-10-28 21:35:06 -04:00
Jeremiah Orians
d8fb878d7a
Correct #define behavior inside of #if/#elif/#else/#endif blocks
2021-10-27 22:22:49 -04:00
Jeremiah Orians
55929d4ddf
Catch segfault for half defined #defines and provide a warning for #unkowns
2021-10-21 21:27:16 -04:00
Jeremiah Orians
ffe4e5f66e
better validate arguments passed
2021-10-04 20:49:44 -04:00
Jeremiah Orians
ae9e700592
Release_1.9.0
2021-10-03 09:34:22 -04:00
Andrius Štikonas
56ee526c4c
Implement support for large immediates on RISC-V.
2021-10-03 11:37:03 +01:00
Jeremiah Orians
5e74995c13
Catch truncated function calls and truncated array statements
2021-10-02 22:02:39 -04:00
Jeremiah Orians
0577243444
Fix Problem with global arrays #18
2021-10-02 10:38:04 -04:00
Andrius Štikonas
bbf67601e1
Add tests for riscv64.
2021-10-02 13:13:15 +01:00
Jeremiah Orians
8c3fa49936
Breaking update in blood-elf
2021-10-02 07:09:46 -04:00
Andrius Štikonas
ae48dbd6cb
Add riscv64 port.
2021-10-02 11:59:21 +01:00
Jeremiah Orians
7fb9d682ec
Update M2libc to enable RISC-V Development
2021-09-30 20:10:28 -04:00
Jeremiah Orians
745998ac13
Fix global array initialization to allocate the correct amount of memory
2021-06-26 11:58:13 -04:00
Jeremiah Orians
99df87bc0d
Breakup program to reduce complexity and risk of errors
2021-06-26 11:51:54 -04:00
Jeremiah Orians
b37dfc7b12
Report proper error message for negative global array values. Thank you melg8
2021-06-26 10:53:45 -04:00
Jeremiah Orians
51dfec1791
Fixed Global buffer overflow in collect_weird_string thanks to Melg8
2021-06-23 18:57:56 -04:00
Jeremiah Orians
a3c14bcd1b
Fixed Memory leak, thanks melg8
2021-06-23 07:58:11 -04:00
Jeremiah Orians
8bc09f2b2e
Fixed hang on large global arrays. Thanks melg8
2021-06-23 07:32:40 -04:00
Jeremiah Orians
da542698e7
Fix all special cases where line number was wrong
2021-05-28 23:27:17 -04:00
Jeremiah Orians
cece07145c
Update checksums to reflect new cc_types.c code in test1000
2021-05-02 10:52:29 -04:00
Jeremiah Orians
d80d8a652b
Move more functionality into M2libc
2021-04-03 22:41:52 -04:00
Jeremiah Orians
46cf81af83
Replace file_print with fputs
2021-04-03 18:56:55 -04:00
Jeremiah Orians
b0b440c2df
Update M2libc to fix fflushing of buffers at exit or return from main
2021-02-21 21:00:34 -05:00
Jeremiah Orians
37ca8e3df9
Remove test/common_x86 files and switch x86 to M2libc
2021-02-17 22:01:28 -05:00
Jeremiah Orians
5f8484e683
Move self-hosting test to use M2libc
2021-02-17 21:40:59 -05:00
Jeremiah Orians
fc4c1998aa
Remove test/common_knight/ files and switch knight-posix to M2libc
2021-02-06 00:45:32 -05:00
Jeremiah Orians
a9d88e8e6c
Add support for -D variable and -D variable=value
2021-02-05 21:34:00 -05:00
Jeremiah Orians
8007ae9ce6
Add support for #if defined(__M2__) to enable M2-Planet specific functionality
2021-02-05 20:39:54 -05:00
Jeremiah Orians
62eedce858
Remove test/common_aarch64 files and switch AArch64 to M2libc
2021-02-05 15:54:38 -05:00
Jeremiah Orians
ba1fc44f29
Remove test/common_armv7l files and switch armv7l to M2libc
2021-02-03 07:30:15 -05:00
Jeremiah Orians
695672985e
Remove test/common_amd64 files and switch amd64 to M2libc
2021-02-03 00:32:47 -05:00
Jeremiah Orians
6f8e2eb905
Removed need for fixup
2021-02-02 23:39:27 -05:00
Jeremiah Orians
c5068b227a
Add support for &global_variable
2021-01-28 22:22:08 -05:00
deesix
548993a884
tests: use new-style mescc-tools flags
...
This completes the transition started in Knight scripts during their M2libc
migration at f2094a9e5b
from : to
--BaseAddress : --base-address
--BigEndian : --big-endian
--LittleEndian : --little-endian
The plan for mescc-tools is to deprecate the old (pre-1.0.0) flags.
Note that test0101 compiles "hex2 0.3" and verifies that it works by
linking an example. This 0.3 version requires the old-style flags, so the
calls to test/results/test0101-*-binary are left unchanged.
2021-01-23 00:00:00 +01:00
deesix
ae897dcfdb
tests: no --exec_enable in hex2 calls because it's "Effectively a NOP"
...
hex2 in mescc-tools defaults to executable output file since 1.0.0.
See 0a553f720d39dae4231611671e4163a2d2422e0a there.
This completes the removal started in Knight scripts during their M2libc
migration at f2094a9e5b
Note that test0101 compiles "hex2 0.3" and verifies that it works by
linking an example. Calls to test/results/test0101-*-binary never used the
flag because we don't call the linked example (we just check its SHA-256).
2021-01-23 00:00:00 +01:00
deesix
52b638f48f
tests: prettier scripts
...
One line per flag for multi-line "Verify that the resulting file works"
calls; for coherency with 3aa8327334
2021-01-23 00:00:00 +01:00