Andrius Štikonas
12d40f6c82
Update M2libc submodule.
2022-11-06 18:16:52 +00:00
Andrius Štikonas
18a7484a99
Add support for local structs.
2022-11-06 18:15:26 +00:00
Andrius Štikonas
bf66daaf4c
Chage riscv stack depth sign convention to match x86 and amd64.
2022-11-06 17:11:20 +00:00
Andrius Štikonas
7e7558768a
Add support for global structs.
2022-11-05 23:30:46 +00:00
Andrius Štikonas
adb4fb3781
make clean should cleanup all tests.
2022-10-26 00:38:43 +01:00
Andrius Štikonas
b8664784b6
Fix a typo.
2022-10-25 00:44:29 +01:00
Andrius Štikonas
f7fcc0af6e
Adapt to M2libc changes.
...
* Some test includes have changed.
* New GAS style amd64 defines.
* Make M2-Planet output position independent code on amd64.
2022-10-09 14:15:07 +01:00
Jeremiah Orians
62c6f6c80e
Catching another segfault
2022-09-21 23:53:07 -04:00
Jeremiah
c064b344dd
Merge pull request #40 from stikonas/master
...
Fix a typo.
2022-06-30 22:21:55 -04:00
Andrius Štikonas
cbd7f67e93
Fix a typo.
2022-06-22 18:23:26 +01:00
Jeremiah Orians
73b39a8981
Took 4 days to find this segfault
2022-05-23 23:51:38 -04:00
Jeremiah Orians
c50dcade62
Even more segfaults
2022-05-19 19:40:19 -04:00
Jeremiah Orians
65444b33d2
Clearing out more segfaults
2022-05-18 07:37:42 -04:00
Jeremiah Orians
0a07af340b
Found new segfaults
2022-05-14 21:51:09 -04:00
Jeremiah Orians
fba6dffb66
Fix checksums and add support for #warning
2022-05-09 06:55:22 -04:00
Jeremiah Orians
c9b9920986
Release_1.10.0
2022-05-01 14:24:47 -04:00
Jeremiah Orians
a983ffaa63
fix handling of #FILENAME statements
2022-01-22 10:22:02 -05:00
Jeremiah Orians
406d0856df
Backport macro functionality to better handle nested #if statements
2022-01-21 22:35:45 -05:00
Jeremiah Orians
7a12113e2a
You are now able to change filename within a file with #FILENAME $name $linenumber
2021-12-11 07:43:00 -05:00
Andrius Štikonas
a495e6faf6
Update error message to include riscv32.
2021-12-04 18:35:00 +00:00
Andrius Štikonas
695b74e6f9
After test1000 copy the correct binary to bin/M2-Planet.
2021-12-03 21:36:38 +00:00
Andrius Štikonas
823be93875
Enable riscv32 tests.
2021-12-03 21:33:55 +00:00
Andrius Štikonas
1e784f5afb
Add riscv32 port.
2021-12-02 22:41:27 +00:00
Andrius Štikonas
646bd15b19
Remove old function.
2021-11-22 00:41:06 +00:00
Jeremiah Orians
9613c28c4b
Catch segfault caused by missing C statements
2021-11-16 22:01:35 -05:00
Andrius Štikonas
185ef7a7c2
Improve handling of compound assignment operators.
...
Previously, compound assignment operators were replaced in preprocessor.
This only worked for simple cases where we only had 1-token variable.
This commit switches to proper implementation in the parser.
2021-11-15 00:06:08 +00:00
Andrius Štikonas
511601bcd9
Revert "Add support for pre-increment and pre-decrement operators."
...
This reverts commit ab49bcafa4
.
2021-11-13 20:55:11 +00:00
Andrius Štikonas
ab49bcafa4
Add support for pre-increment and pre-decrement operators.
...
At the moment there is a limitation on only one unary operator,
so things like *++p wouldn't work but ++*p would work.
2021-11-12 19:37:54 +00:00
Andrius Štikonas
ba51f3dcc8
Fix a crash.
2021-11-11 23:54:44 +00:00
Andrius Štikonas
b2414918cc
Add support for assignment operators.
2021-11-11 21:18:14 +00:00
Andrius Štikonas
575f91cac1
Fix typos / add copyright.
2021-11-11 15:21:28 +00:00
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
Jeremiah Orians
a09d9dcfd8
Add basic test for multi-dimensional arrays
2021-11-07 19:21:41 -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
4c310a3f6d
Add a missing newline.
2021-11-02 22:04:11 +00: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
6c59218781
Clean up RISCV tests
2021-10-28 21:45:32 -04:00
Jeremiah Orians
54e5daace4
Update test1000 sha256sum
2021-10-28 21:35:06 -04:00
Andrius Štikonas
a900bc6632
Implement C99 negation.
...
!a is 1 if a == 0 and 0 otherwise.
2021-10-29 00:52:29 +01:00