Commit Graph

296 Commits

Author SHA1 Message Date
Jeremiah Orians 923784c797
Starting to restrict bad input 2020-01-21 17:50:26 -05:00
Jeremiah Orians 7b86089f95
Add support for access, chdir and fchdir in knight-posix (needs testing) 2020-01-18 10:14:51 -05:00
Jeremiah Orians aeafd837e7
Adding first draft versions of chdir and access to M2-Planet (needs testing) 2020-01-18 08:57:32 -05:00
Jeremiah Orians 1221a5e6dc
Replace NOP with NULL because that is what is really ment by it 2020-01-06 20:21:26 -05:00
Jeremiah Orians 375fa888d0
added support for nested structs thanks to fosslinux 2019-12-23 06:39:45 -05:00
Jeremiah Orians a10d822cff
fix segfault found thanks to fosslinux 2019-12-18 19:43:28 -05:00
Jeremiah Orians 64a3a1b674
Get division on x86/AMD64 a closer approximation of what is correct 2019-11-29 12:55:55 -05:00
Jan Nieuwenhuizen b87ddb0051
[PATCH] numerate_number: Support lower case hex. 2019-11-07 22:57:53 -05:00
Jeremiah Orians 1fc2aeab48
Removed unneeded chars as toupper eliminates them as possibilities 2019-11-02 08:35:54 -04:00
Jeremiah Orians 9eb0a8706e
Fixed amd64's xchg behavior, removed fixup_int32 and updated Changelog 2019-10-31 20:54:43 -04:00
Jeremiah Orians dea4f902b7
Adding support for additional type compatibility with C and backported
regression fix for ARMv7l debug headers
2019-10-27 12:55:07 -04:00
Jeremiah Orians 18a66f6296
Rearranged types to ensure better compliance with C type rules 2019-10-26 22:45:02 -04:00
Jeremiah Orians c2cbc518f9
Fixed missing updated test23 answers and added support for mes.c types 2019-10-26 15:40:35 -04:00
Andrius Štikonas 96588d406f
Fix a typo:
Recieved -> Received
2019-10-23 22:55:56 +01:00
Jeremiah Orians 4c34e69c83
Added support for \a and \b 2019-10-19 14:25:51 -04:00
Jeremiah Orians 465b4c9c31
Fixup behavior on 64bit platforms 2019-06-19 21:43:34 -04:00
Jeremiah Orians f43aa4a44c
Minor tweaks to better match amd64 assembly 2019-06-03 21:01:14 -04:00
Jeremiah Orians 27cf071ee9
Release_1.3.0 2019-04-22 19:30:08 -04:00
Jeremiah Orians 06a29d2132
Minor enhancement in test25 and test26 2019-04-21 16:51:58 -04:00
deesix 00df8e2158 Verify compiled programs (kaem and Slow_Lisp) of test25 and test26 runs 2019-04-21 19:22:41 +02:00
Jeremiah Orians e55dc78597
4/24 working tests for AMD64 2019-04-19 17:43:59 -04:00
deesix a3acf66077 Global string (char*) value indirect store, to fix segfault
Because, as OriansJ found, we don't want to read the first bytes of the
value as a pointer. See global_load() for programs like:

char* s = "xyzzy\n";
int main(void){ file_print(s, 1); return 0; }

There's an alternative: "fix the GLOBAL behavior to be type sensitive" but
this indirect store was choosen because it "preserve[s] the ability to
assign new strings to a global char*".
2019-04-18 16:48:41 +02:00
Jeremiah Orians 420f8b62b9
1/24 working tests for AMD64 Port 2019-04-17 20:19:17 -04:00
Jeremiah Orians 99f2881546
Release_1.2.0 2019-04-14 10:24:13 -04:00
Jeremiah Orians 5384977d5a
23/24 working tests for armv7l 2019-04-14 08:49:11 -04:00
Jeremiah Orians 119226d569
Fixed ARMV7l stack behavior thanks to dddddd 2019-04-13 08:31:39 -04:00
Jeremiah Orians dc82e76d0d
Resolved non-standard behavior across locales thanks to dddddd 2019-04-07 17:11:18 -04:00
Jeremiah Orians 442601197c
17/24 working tests for armv7l 2019-03-30 09:25:52 -04:00
Jeremiah Orians c3ad31d66a
15/24 working tests for armv7l 2019-03-23 18:29:19 -04:00
Jeremiah Orians 87b1daaaa9
13/24 working tests for armv7l 2019-03-17 22:34:26 -04:00
Jeremiah Orians 95107d9fb6
10/24 working tests for armv7l 2019-03-17 10:08:56 -04:00
Jeremiah Orians fe95136b49
8/24 working tests for ARMv7l 2019-03-17 06:15:20 -04:00
Jeremiah Orians b61144efd7
6/24 working tests for ARMv7l 2019-03-16 23:27:52 -04:00
Jeremiah Orians eb034f51e8
5/24 working tests for ARMv7l 2019-03-16 20:03:56 -04:00
Jeremiah Orians f357464727
4/24 working tests for ARMv7l 2019-03-10 13:07:19 -04:00
Jeremiah Orians 740f376828
Test02 for ARMv7l 2019-03-10 11:24:13 -04:00
Jeremiah Orians 8f247d9716
Added second working test for ARMv7l 2019-03-10 09:33:45 -04:00
Jeremiah Orians d1036c60c8
First working test for ARMv7l 2019-03-09 20:22:29 -05:00
Jeremiah Orians d5d64bb254
knight-posix is now fully supported 2019-03-09 15:25:29 -05:00
Jeremiah Orians f01f805803
Upgraded to 23/24 working tests 2019-03-09 11:56:16 -05:00
Jeremiah Orians 01658364e5
Upgraded to 16/24 working tests 2019-02-28 20:52:01 -05:00
Jeremiah Orians 577f19dea9
Upgraded to 14/24 working tests 2019-02-26 18:04:49 -05:00
Jeremiah Orians d3965e811f
Incorporated 2 more working tests for knight-posix 2019-02-24 20:53:45 -05:00
Jeremiah Orians 69c319ef6c
Added working HEAP to knight-posix 2019-02-24 17:46:05 -05:00
Jeremiah Orians c6ac46292f
Added test05 for knight-posix 2019-02-24 09:58:47 -05:00
Jeremiah Orians a1309ae4b9
Added support for test03 for knight-posix 2019-02-24 06:48:31 -05:00
Jeremiah Orians 65f47417d4
Fixed test02 for knight-posix 2019-02-23 21:36:26 -05:00
Jeremiah Orians ee1abde0d4
Add test2 for knight-posix 2019-02-23 20:18:53 -05:00
Jeremiah Orians b085022577
Added initial draft of knight-posix support and first knight-posix test 2019-02-23 18:33:57 -05:00
Jeremiah Orians a456bcc21d
Prepare for major change involving multi-arch support 2019-02-23 15:08:59 -05:00
Jeremiah Orians 0eefa0feb2
Update in preperation for mescc-tools 0.6.0 release 2019-02-23 11:05:20 -05:00
Jeremiah Orians 25d57d7d59
Adding support for octal and binary numbers 2019-01-27 22:35:44 -05:00
Jeremiah Orians c1b3f4c60d
Adding custom type for mes.h 2019-01-14 19:05:49 -05:00
Jeremiah Orians 6f6dc7b48d
Slow_Lisp prototype update 2018-11-10 09:55:09 -05:00
Jeremiah Orians f05b23ef34
Removed redundent x86 definitions 2018-11-07 21:02:21 -05:00
Jeremiah Orians 4629a2e842
Fixed Linux 4.17 regression 2018-11-05 19:45:15 -05:00
Jeremiah Orians 9a2c6b4019
Harmonized License headers and added missing license headers 2018-10-17 19:27:06 -04:00
Jeremiah Orians 56db0fcad4
Breaking change in M2-Planet 2018-10-17 16:08:04 -04:00
Jeremiah Orians 608d85b820
Fixed version number bug 2018-08-31 16:32:53 -04:00
Jeremiah Orians 6ea629f6a2
Fixing typo in License headers 2018-08-26 21:44:45 -04:00
Jeremiah Orians 32f2adafda
Pull patches from janneke 2018-08-26 21:15:32 -04:00
Jeremiah Orians e249069cac
Release 1.0.0 2018-08-26 16:34:31 -04:00
Jeremiah Orians 951d259339
Minor reorganization 2018-08-20 20:41:37 -04:00
Jeremiah Orians 95b1fe029f
Broke out OUT and FUNCTION to silence a single GCC warning 2018-08-18 15:23:58 -04:00
Jeremiah Orians 51b8b275fd
More cleaning to simplify assembly bootstrap 2018-08-17 04:55:56 -04:00
Jeremiah Orians 162df4f378
Enhanced core to simplify implementation 2018-08-16 12:01:55 -04:00
Jeremiah Orians 2e1148fe3e
Release 0.3 2018-08-12 13:11:02 -04:00
Jeremiah Orians df451c1728
Code Clean up done during knight platform bootstrap work 2018-08-10 17:30:48 -04:00
Jeremiah Orians eb8b3e4eb4
Reduced Memory usage by another 50% 2018-07-26 19:51:44 -04:00
Jeremiah Orians 7833cd5660
Reduced Memory allocation from 4KB per token string to size of string
+ fixed null padding
2018-07-26 18:27:32 -04:00
Jeremiah Orians 929bfa968c
Good Catch Gio 2018-07-25 21:32:45 -04:00
Jeremiah Orians dc94afb558
Lots of clean and enhancements to simplify task of writing it in assembly. 2018-07-19 22:33:02 -04:00
Jeremiah Orians 64531def3b
Performance enhancement by elimination of string copying 2018-06-28 16:40:51 -04:00
Jeremiah Orians c454008656
Adding initial support for global initializers 2018-06-26 17:03:17 -04:00
Jeremiah Orians 4fb4e28405
Release 0.2 2018-06-21 21:33:50 -04:00
Jeremiah Orians 94a986bf44
Made output even more deterministic 2018-06-08 15:43:36 -04:00
Jeremiah Orians 688b546281
Added debug support for M2-Planet output 2018-06-06 21:37:19 -04:00
Jeremiah Orians 0bb6758a10
minimal build clean up and M1-macro enhancements 2018-06-05 21:08:15 -04:00
Jeremiah Orians 482858ae7c
Added M1-macro test 2018-06-01 22:52:30 -04:00
Jeremiah Orians dc32e7d4ba
Adding Hex2_linker test 2018-06-01 21:45:48 -04:00
Jeremiah Orians faed59f88c
Adding blood-elf test 2018-06-01 21:13:45 -04:00
Jeremiah Orians 280b2ade52
bug clean up and new functionality 2018-06-01 20:05:27 -04:00
Jeremiah Orians cba66b015b
Catching up on enhancements 2018-05-26 16:33:00 -04:00
Jeremiah Orians 847184a0da
Added support for Local functions 2018-05-03 19:07:44 -04:00
Jeremiah Orians fdbb577784
Added support for passing of function pointers via FUNCTION 2018-05-02 20:56:44 -04:00
Jeremiah Orians a035d955e9
Add support for anonymous unions inside of structs 2018-04-27 15:57:48 -04:00
Jeremiah Orians 3f9808a19a
Added type promotion to allow progress on mes.c 2018-04-23 21:35:27 -04:00
Jeremiah Orians 589217b3b6
Minor cleanup and removal of unneeded whitespace 2018-03-05 19:13:20 -05:00
Jeremiah Orians 426a92ab09
Finally became self-hosting 2018-02-23 21:18:23 -05:00
Jeremiah Orians 35c9d4036f
Incorporate breaks into loops and reduce library dependencies 2018-01-31 23:14:40 -05:00
Jeremiah Orians f6752b2802
Added additional functionality such as mixed structs, do while loops,
gotos and tests for the new functionality
2018-01-24 20:00:22 -05:00
Jeremiah Orians 9a919d20ea
Minor reordering of tests and the addition of unary - and ! support 2018-01-21 14:42:09 -05:00
Jeremiah Orians 4602adb0b1
Converted from legacy M2-Planet Input.c Output.c to M2-Planet -f input.c ... -f inputN.c -o output.M1 2018-01-20 22:56:50 -05:00
Jeremiah Orians 4916fb9385
Put common x86 platform logic in a shared folder to reduce duplicate code 2018-01-20 18:33:11 -05:00
Jeremiah Orians 49c8b5b87d
Converted for.c example into a test 2018-01-20 18:21:20 -05:00
Jeremiah Orians e1650309c9
Proving M2-Planet can compile real programs with the help of mescc-tools 2018-01-20 17:24:45 -05:00