2018-05-26 21:33:00 +01:00
|
|
|
## Copyright (C) 2017 Jeremiah Orians
|
2018-10-18 00:27:06 +01:00
|
|
|
## This file is part of M2-Planet.
|
2018-05-26 21:33:00 +01:00
|
|
|
##
|
2018-10-18 00:27:06 +01:00
|
|
|
## M2-Planet is free software: you can redistribute it and/or modify
|
2018-05-26 21:33:00 +01:00
|
|
|
## it under the terms of the GNU General Public License as published by
|
|
|
|
## the Free Software Foundation, either version 3 of the License, or
|
|
|
|
## (at your option) any later version.
|
|
|
|
##
|
2018-10-18 00:27:06 +01:00
|
|
|
## M2-Planet is distributed in the hope that it will be useful,
|
2018-05-26 21:33:00 +01:00
|
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
## GNU General Public License for more details.
|
|
|
|
##
|
|
|
|
## You should have received a copy of the GNU General Public License
|
2018-10-18 00:27:06 +01:00
|
|
|
## along with M2-Planet. If not, see <http://www.gnu.org/licenses/>.
|
2018-05-26 21:33:00 +01:00
|
|
|
|
|
|
|
* Current
|
|
|
|
** Added
|
2021-10-03 14:34:22 +01:00
|
|
|
Add riscv64 port
|
|
|
|
Add tests for riscv64
|
2021-06-09 04:10:22 +01:00
|
|
|
|
|
|
|
** Changed
|
2021-10-03 14:34:22 +01:00
|
|
|
Breakup program function to reduce complexity and risk of errors
|
|
|
|
Update M2libc to enable RISC-V Development
|
|
|
|
Update all tests to work around breaking update in blood-elf
|
2021-06-09 04:10:22 +01:00
|
|
|
|
|
|
|
** Fixed
|
2021-06-23 12:32:40 +01:00
|
|
|
Stop hang on large global arrays
|
2021-06-23 12:58:11 +01:00
|
|
|
Fixed Memory leak on read token
|
2021-06-23 23:57:56 +01:00
|
|
|
Fixed Global buffer overflow in collect_weird_string
|
2021-10-03 14:34:22 +01:00
|
|
|
Updated info in HACKING
|
|
|
|
Report proper error message for negative global array values
|
|
|
|
Fix global array initialization to allocate the correct amount of memory
|
|
|
|
Fix Problem with global arrays
|
|
|
|
Catch truncated function calls and truncated array statements
|
2021-06-09 04:10:22 +01:00
|
|
|
|
|
|
|
** Removed
|
|
|
|
|
|
|
|
* 1.8 - 2021-06-08
|
|
|
|
** Added
|
2021-06-09 04:05:36 +01:00
|
|
|
AArch64 added support for arithmetic right shift
|
|
|
|
AMD64 added support for unsigned comparisons
|
|
|
|
armv7l added support for unsigned comparisons
|
|
|
|
AArch64 added support for unsigned comparison
|
|
|
|
added support for --max-string to enable arbitrary large C tokens and strings
|
|
|
|
Added prototype output buffering for x86
|
|
|
|
List of known M2-Planet issues has been added
|
|
|
|
Added first generation implemention of typedef
|
|
|
|
Add newline tokens to parse stream
|
|
|
|
Add a preprocessor-only mode (-E)
|
|
|
|
Add macro directives to token_list
|
|
|
|
Add support for conditional inclusion (#if, #elif, #else, #endif)
|
|
|
|
Add error checking for unexpected #endif
|
|
|
|
Added hacky version of #define support (#if defined($FOO))
|
|
|
|
Add a test for supported preprocessor features
|
|
|
|
Added simple macro expansion
|
|
|
|
Add support for global char foo[12]; definitions
|
|
|
|
Added support for make -j $num build operations for tests to speed up testing on multicore systems
|
|
|
|
Enable virtualization of bare metal binaries
|
|
|
|
Add support for &global_variable
|
|
|
|
Added __M2__ to default macro environment to enable #if defined(__M2__) M2-Planet specific functionality
|
|
|
|
Add support for -D variable and -D variable=value
|
|
|
|
Added -e (errexit) shell option in scripts, where possible
|
2020-11-16 01:46:26 +00:00
|
|
|
|
|
|
|
** Changed
|
2021-06-09 04:05:36 +01:00
|
|
|
knight-posix HEAP pointer now set by kernel rather than libc
|
|
|
|
knight now leverages new SET instructions to reduce instruction count and processing time.
|
|
|
|
Make type information localized to the inside of statements
|
|
|
|
Default types available and added --bootstrap-mode flag to enable the old behavior for cc_* emulation
|
|
|
|
Improve error reporting for unexpected non-newline
|
|
|
|
Moved all low level primitives into M2libc
|
|
|
|
Updated tests to leverage M2libc
|
|
|
|
Standardized test scripts
|
|
|
|
tests: use new-style mescc-tools flags
|
|
|
|
Harmonize --debug behaviour for all scripts of the same test
|
|
|
|
Unified all tests for all architectures
|
|
|
|
Replace file_print with fputs
|
|
|
|
Skip "extern" in type definitions. This makes supporting gcc >= 10 easier in GNU Mes.
|
2020-11-16 01:46:26 +00:00
|
|
|
|
|
|
|
** Fixed
|
2021-06-09 04:05:36 +01:00
|
|
|
AArch64 Fix LSEEK syscall number
|
|
|
|
Arithmetic recursion to match gcc behavior in regards to if(-1 > 0)
|
|
|
|
Fix x86 behavior on unsigned compares
|
|
|
|
Remove Segfault that occurs when outputing files in excess of 100MB in size
|
|
|
|
Fix x86 close syscall
|
|
|
|
Type abuse bugs that resulted in segfaults
|
|
|
|
Fixed the backwards assignment of x86/AMD64 division
|
|
|
|
Fix e25c1995aab5833323ee0784402ae7d3318b093e SCM MES regression
|
|
|
|
Fixed the backwards modulus
|
|
|
|
Various segfaults in the new macro preprocessor
|
|
|
|
Fix all special cases where line number was wrong
|
2020-11-16 01:46:26 +00:00
|
|
|
|
|
|
|
** Removed
|
2021-06-09 04:05:36 +01:00
|
|
|
Removed obsolete bootstrap directory
|
|
|
|
Removed need for fixup
|
|
|
|
Remove test/common_* files with M2libc transistion
|
2020-11-16 01:46:26 +00:00
|
|
|
|
|
|
|
* 1.7 - 2020-11-15
|
|
|
|
** Added
|
2020-11-16 01:43:58 +00:00
|
|
|
Added common error catch for the declaration of variables inside of loops that usually results in crashes
|
|
|
|
Added support for C multi-strings
|
|
|
|
|
|
|
|
** Changed
|
|
|
|
Changed ELF headers for FreeBSD compatibility
|
|
|
|
Changed sha256 function to be more compatible with FreeBSD
|
|
|
|
Changed malloc behavior to accept non-exact brk returns
|
|
|
|
Changed looping tests to reflect new expected code behavior in regards to variable declaration inside of loops
|
|
|
|
|
|
|
|
** Fixed
|
|
|
|
Type regression in cc_* compatibility
|
|
|
|
Shift behavior to better match C standard
|
|
|
|
64bit host behavior in regards to primary_expr_number in knight tests
|
|
|
|
GCC 10 compatibility
|
|
|
|
|
|
|
|
** Removed
|
|
|
|
|
|
|
|
* 1.6 - 2020-04-30
|
|
|
|
** Added
|
2020-02-01 22:50:26 +00:00
|
|
|
Added test for chdir and getcwd family of posix primitives
|
2020-03-01 17:55:32 +00:00
|
|
|
Added fflush stub, for code to match our behavior when compiled with GCC (we don't buffer)
|
2020-05-01 03:35:22 +01:00
|
|
|
Added fseek and rewind functions
|
2020-02-01 22:22:38 +00:00
|
|
|
|
|
|
|
** Changed
|
2020-05-01 03:35:22 +01:00
|
|
|
Updated kaem
|
|
|
|
Revised 27 to include dwart stubs
|
|
|
|
Restructured tests to enable future growth
|
|
|
|
Reengineered M2-Planet to leverage blood-elf v1.0's output format
|
2020-02-01 22:22:38 +00:00
|
|
|
|
|
|
|
** Fixed
|
2020-02-07 23:16:54 +00:00
|
|
|
AArch64 wasteful stack
|
2020-05-01 03:35:22 +01:00
|
|
|
Fixed continue behavior
|
|
|
|
Generate fully proper elf output
|
2020-02-01 22:22:38 +00:00
|
|
|
|
|
|
|
** Removed
|
|
|
|
|
|
|
|
* 1.5 - 2020-02-01
|
|
|
|
** Added
|
2019-11-01 00:54:43 +00:00
|
|
|
Added support for \a and \b
|
|
|
|
Added support for long
|
|
|
|
Added support for size_t
|
|
|
|
Added support for ssize_t
|
|
|
|
Added support for const keyword
|
|
|
|
Added support for alternate instructions for signed/unsigned combinations
|
|
|
|
Added is_signed data to all types
|
|
|
|
Added support for signed multiplication, division and modulus
|
2020-01-18 16:01:52 +00:00
|
|
|
Added dist build target
|
|
|
|
Added a manpage for M2-Planet
|
|
|
|
Added support for nested structs thanks to fosslinux
|
|
|
|
Added support for access, chdir and fchdir primitives
|
2020-02-01 20:23:49 +00:00
|
|
|
Added AArch64 target (mescc-tools 0.7.0 required), all tests passing but rough on the edges
|
2020-02-01 21:21:10 +00:00
|
|
|
Added require support to reduce number of segfaults possible
|
|
|
|
Added first pass error checking in primitives
|
|
|
|
Added first knight-native cc-minimal.c
|
2019-11-01 00:54:43 +00:00
|
|
|
|
|
|
|
** Changed
|
|
|
|
Reordered types to prefer longs over unsigned over ints or chars
|
2020-01-18 16:01:52 +00:00
|
|
|
Replaced NOP with NULL to better match what it is really ment.
|
2020-02-01 21:21:10 +00:00
|
|
|
Enabled large binary support in knight-native
|
2019-11-01 00:54:43 +00:00
|
|
|
|
|
|
|
** Fixed
|
|
|
|
Typo: Recieved -> Received
|
|
|
|
ARMv7l elf-header regression
|
|
|
|
Corrected AMD64's xchg rax, rbx into it's proper encoding
|
2019-11-02 12:35:54 +00:00
|
|
|
A great deal of typos thanks to Andrius Štikonas
|
2020-01-18 16:01:52 +00:00
|
|
|
Regression in numerate_number
|
|
|
|
Segfault found in build_member when passed a non-number
|
2020-02-01 21:21:10 +00:00
|
|
|
Segfault found in tokenizer
|
|
|
|
Segfault in string hexifier
|
|
|
|
Enabled skipped cleanup scripts
|
|
|
|
Unbalanced { segfaults
|
2019-11-01 00:54:43 +00:00
|
|
|
|
|
|
|
** Removed
|
|
|
|
Removed bootstrap process as it belongs in mescc-tools-seed instead.
|
|
|
|
Removed need for fixup_int32
|
2020-02-01 21:21:10 +00:00
|
|
|
Removed unneeded lines in .gitignore
|
2019-11-01 00:54:43 +00:00
|
|
|
|
|
|
|
* 1.4 - 2019-06-23
|
|
|
|
** Added
|
2019-04-23 00:33:29 +01:00
|
|
|
|
|
|
|
** Changed
|
2019-06-04 02:01:14 +01:00
|
|
|
Tweaked cc_types.c to better match amd64 assembly
|
|
|
|
Replaced out with output_list in cc_core.c
|
2019-06-20 02:43:34 +01:00
|
|
|
For 32bit behavior on 64bit platforms
|
2019-06-23 22:52:38 +01:00
|
|
|
Replaced generated seed with hand written seed in M1
|
2019-04-23 00:33:29 +01:00
|
|
|
|
|
|
|
** Fixed
|
|
|
|
|
|
|
|
** Removed
|
|
|
|
|
|
|
|
* 1.3 - 2019-04-22
|
|
|
|
** Added
|
2019-04-18 01:19:17 +01:00
|
|
|
Added port to Knight-Native
|
2019-04-23 00:30:08 +01:00
|
|
|
Ported 24/24 working tests for AMD64
|
|
|
|
Added support for CONSTANT to leverage sizeof(type)
|
2019-04-14 15:28:24 +01:00
|
|
|
|
|
|
|
** Changed
|
2019-04-21 18:22:41 +01:00
|
|
|
Added basic verification of the compiled program (kaem) to test25
|
|
|
|
Added basic verification of the compiled program (Slow_Lisp) to test26
|
2019-04-23 00:30:08 +01:00
|
|
|
Updated from mescc-tools from 0.6.0 to 0.6.1 (To gain support for --64)
|
|
|
|
Changed test26 to adust behavior according to struct size
|
2019-04-14 15:28:24 +01:00
|
|
|
|
|
|
|
** Fixed
|
2019-04-19 00:01:03 +01:00
|
|
|
Corrected Global char* to behave correctly when given a static string
|
2019-04-19 22:43:59 +01:00
|
|
|
Ensured pointers match register size
|
2019-04-14 15:28:24 +01:00
|
|
|
|
|
|
|
** Removed
|
2019-04-23 00:30:08 +01:00
|
|
|
Removed need to hand calculate struct sizes
|
2019-04-14 15:28:24 +01:00
|
|
|
|
|
|
|
* 1.2 - 2019-04-14
|
|
|
|
** Added
|
2019-04-14 15:24:13 +01:00
|
|
|
Added 24/24 working tests for armv7l
|
|
|
|
Port to ARMv7l and ARMv6l both work
|
2019-03-10 01:22:29 +00:00
|
|
|
|
|
|
|
** Changed
|
2019-04-14 13:49:11 +01:00
|
|
|
ELF-code segment now writable for ARMv7l without debug
|
2019-04-14 15:24:13 +01:00
|
|
|
Updated from mescc-tools from 0.5.2 to 0.6 (with changes in checksums due to alternate null padding)
|
2019-03-10 01:22:29 +00:00
|
|
|
|
|
|
|
** Fixed
|
2019-03-30 13:25:52 +00:00
|
|
|
Fixed unsigned division in ARMv7l port
|
2019-04-07 22:11:18 +01:00
|
|
|
Fixed non-uniform behavior across locales and *BSDs
|
2019-04-13 13:31:39 +01:00
|
|
|
Fixed broken stack in ARMv7l thanks to dddddd
|
2019-03-10 01:22:29 +00:00
|
|
|
|
|
|
|
** Removed
|
|
|
|
|
|
|
|
* 1.1 - 2019-03-09
|
|
|
|
** Added
|
2018-08-27 02:15:32 +01:00
|
|
|
Added support for \f, \v and \e
|
2018-09-01 00:02:55 +01:00
|
|
|
Added refresh to bootstrap.sh to build seed from cc_x86.s
|
2018-10-18 00:27:06 +01:00
|
|
|
Added missing license headers
|
2018-11-10 14:55:09 +00:00
|
|
|
Added support for ~expressions
|
|
|
|
Added prototype for Slow_Lisp build test
|
2019-01-15 00:05:49 +00:00
|
|
|
Added Custom type for mes.h
|
2019-01-28 03:35:44 +00:00
|
|
|
Added support for octal and binary numbers
|
2019-02-23 16:05:20 +00:00
|
|
|
Added support for \0
|
2019-02-23 20:08:59 +00:00
|
|
|
Added support for GET_MACHINE_FLAGS in tests
|
|
|
|
Added --architecture flag
|
2019-03-09 20:25:29 +00:00
|
|
|
Added 24/24 working tests for knight-posix
|
2019-02-24 22:46:05 +00:00
|
|
|
Added working HEAP/malloc to knight-posix
|
2018-08-27 02:15:32 +01:00
|
|
|
|
|
|
|
** Changed
|
|
|
|
Converted M2-Planet to use GNU style error message
|
2018-09-01 00:02:55 +01:00
|
|
|
Seed.M1 when built will now have the same checksum as M2-Planet self-hosted
|
2018-10-18 00:27:06 +01:00
|
|
|
Harmonized license headers
|
2019-02-23 16:05:20 +00:00
|
|
|
Updated M1 to current version
|
|
|
|
Updated hex2 to current version
|
2019-02-23 20:08:59 +00:00
|
|
|
Updated get_machine to current version
|
2019-02-23 16:05:20 +00:00
|
|
|
Updated to mescc-tools 0.6.0 syntax
|
2019-02-23 20:08:59 +00:00
|
|
|
Changed default architecture to knight-native
|
2019-02-24 01:18:53 +00:00
|
|
|
Moved x86 specific exit.c and putchar.c to test/common_x86/functions
|
2019-02-25 01:53:45 +00:00
|
|
|
Relocated x86 specific libc.M1 to test/common_x86
|
2019-02-26 23:04:49 +00:00
|
|
|
Formalized Knight-posix execve standard
|
2019-03-01 01:52:01 +00:00
|
|
|
Relocated x86 specific file.c to test/common_x86/functions
|
2018-08-27 02:15:32 +01:00
|
|
|
|
|
|
|
** Fixed
|
2018-08-27 02:44:45 +01:00
|
|
|
Fixed typo in file headers
|
2018-08-31 21:32:53 +01:00
|
|
|
Fixed version number to reflect current version
|
|
|
|
Thanks to akkartik several documentation issues were identified and fixed
|
2018-10-18 00:43:16 +01:00
|
|
|
Corrected missed license headers
|
2018-11-06 00:45:15 +00:00
|
|
|
Fix regression caused by Linux 4.17
|
2019-02-24 02:36:26 +00:00
|
|
|
Fixed broken logic comparions for knight-posix
|
2019-02-24 11:48:31 +00:00
|
|
|
Fixed CONSTANT logic for knight-posix
|
2018-08-27 02:15:32 +01:00
|
|
|
|
|
|
|
** Removed
|
2018-11-08 02:02:21 +00:00
|
|
|
Removed redundent x86 definitions
|
2018-08-27 02:15:32 +01:00
|
|
|
|
|
|
|
* 1.0 - 2018-08-26
|
|
|
|
** Added
|
2018-08-16 17:01:55 +01:00
|
|
|
Added more generic logic to lookup_type
|
|
|
|
Added prim_types to simply the task of reducing search space to primitives
|
2018-08-12 18:15:13 +01:00
|
|
|
|
|
|
|
** Changed
|
2018-08-16 17:01:55 +01:00
|
|
|
Reorganized Primitive expression evaluation
|
|
|
|
Reorganized Collect_local to better match implementation
|
|
|
|
Broke out process_break
|
|
|
|
Changed ordering in declare_function to reduce stack operations
|
|
|
|
Converted weird_string collection into a simpler form
|
2018-08-17 09:55:56 +01:00
|
|
|
Inlined 2 small stubs as breaking them out wouldn't help implementation
|
|
|
|
Reordered conditionals for easier implementation and reduced operations
|
2018-08-18 20:23:58 +01:00
|
|
|
Broke out OUT and FUNCTION to silence a single GCC warning
|
2018-08-21 01:41:37 +01:00
|
|
|
Moved required_match and line_error into cc_core.c and removed required_match.c
|
|
|
|
Relocated contents of test/functions to functions
|
2018-08-26 21:34:31 +01:00
|
|
|
Upgrades mescc-tools to 40537c0200ad28cd5090bc0776251d5983ef56e3 commit
|
|
|
|
Tweaked order for for, while and do loops to make them more in commone
|
|
|
|
Tweaked source to better match assembly
|
|
|
|
Simplify implementation order of logic
|
|
|
|
Simplifed the promote_type logic to a much breifer form
|
|
|
|
Broke out generally useful member lookup
|
|
|
|
Upgraded seed.M1 to be generated by cc_x86
|
2018-08-12 18:15:13 +01:00
|
|
|
|
|
|
|
** Fixed
|
2018-08-16 17:01:55 +01:00
|
|
|
Fixed detection of locals to screen out all non-primitive name space collisions
|
2018-08-18 20:25:47 +01:00
|
|
|
Checked in updated gcc function definition
|
2018-08-26 21:34:31 +01:00
|
|
|
Changed's numerate_number's behavior related to zeros
|
|
|
|
Improved error message to help debugging
|
|
|
|
Fixed bootstrap.sh to build a working M2-Planet binary
|
2018-08-12 18:15:13 +01:00
|
|
|
|
|
|
|
** Removed
|
2018-08-16 17:01:55 +01:00
|
|
|
Removed redundent steps in Recursive statement
|
|
|
|
Removed several redundent steps in Collect_arguments
|
2018-08-12 18:15:13 +01:00
|
|
|
|
|
|
|
* 0.3 - 2018-08-12
|
|
|
|
** Added
|
2018-06-26 22:03:17 +01:00
|
|
|
Added support for global intializers
|
2018-07-20 03:33:02 +01:00
|
|
|
Introduced base offset local and argument load/store
|
|
|
|
Added function pointer requirement into M2-Planet
|
|
|
|
Added test24 - get_machine
|
|
|
|
Added General_Recursion to reduce complexity
|
|
|
|
Added uniqueID to purge all code segments that recreate it's functionality
|
|
|
|
Added struct Char arrays for structs
|
2018-08-12 18:11:02 +01:00
|
|
|
Added in_set to make complex conditional logic into a simple char search
|
2018-06-26 22:03:17 +01:00
|
|
|
|
|
|
|
** Changed
|
|
|
|
Made String naming 100% deterministic
|
2018-07-20 03:33:02 +01:00
|
|
|
Broke up all_expr to simplify any manual implementations
|
|
|
|
Cleaned up function calls
|
|
|
|
Simplify variable looksup
|
|
|
|
Reused a union to reduce globals
|
|
|
|
Brought back common recursion
|
|
|
|
Reorged logic tree to reduce complexity
|
|
|
|
Simplified expression
|
|
|
|
Changed EOF detection logic to deal with unsigned bits
|
2018-07-27 00:51:44 +01:00
|
|
|
Reduced Memory usage down from 50MB to 2MB
|
2018-08-10 22:30:48 +01:00
|
|
|
Simplified Tokenizer logic for easier implementation and understanding
|
2018-08-12 18:11:02 +01:00
|
|
|
Simplified program logic
|
|
|
|
Significantly reduced weird string detection logic
|
|
|
|
Trimmed escape_lookup down to a key core
|
|
|
|
Eliminated Several Minor unneeded steps
|
2018-06-26 22:03:17 +01:00
|
|
|
|
|
|
|
** Fixed
|
|
|
|
Correct bug in how \" is treated
|
2018-07-20 03:33:02 +01:00
|
|
|
Clean up of & when && should have been used
|
|
|
|
Made test22 for consistent
|
|
|
|
Fixed !c->a regression
|
2018-07-21 17:45:19 +01:00
|
|
|
Fixed ARM platform build
|
2018-07-26 23:27:32 +01:00
|
|
|
Reduced Memory usage per Token to size of string plus fixed padding
|
2018-06-26 22:03:17 +01:00
|
|
|
|
|
|
|
** Removed
|
2018-06-28 21:40:51 +01:00
|
|
|
Removed need for string copying in M2-Planet
|
2018-07-20 03:33:02 +01:00
|
|
|
Wasted steps in stack offsets
|
|
|
|
Need for stack relative offsets
|
|
|
|
Extra stack walks
|
|
|
|
Removed need for current_function
|
|
|
|
Removed unused values
|
|
|
|
Removed legacy x86 << >> hacks at the cost of more instructions
|
2018-06-26 22:03:17 +01:00
|
|
|
|
|
|
|
* 0.2 - 2018-06-21
|
|
|
|
** Added
|
2018-05-26 21:33:00 +01:00
|
|
|
Added type promotion to allow progress on mes.c
|
|
|
|
Add support for anonymous unions inside of structs
|
|
|
|
Added support for passing of function pointers via FUNCTION
|
|
|
|
Added support for Local functions
|
|
|
|
Added support for EOF
|
|
|
|
Added additional debug information to M2-Planet
|
|
|
|
Added line numbers and files names for errors in parsing to help debug
|
|
|
|
Added support for close and fclose
|
2018-06-02 01:05:27 +01:00
|
|
|
Added prototype support for chmod
|
|
|
|
Added basic support for escape strings
|
|
|
|
Added support for continue
|
|
|
|
Added string_length function to string.c
|
|
|
|
Added function numerate_string for converting string to integer
|
|
|
|
Added supporting hex2char, char2hex, dec2char and char2dec functions
|
|
|
|
Added support bitwise xor
|
2018-06-02 02:45:48 +01:00
|
|
|
Added Blood-elf test
|
|
|
|
Added Hex2_linker test
|
2018-06-02 03:52:30 +01:00
|
|
|
Added M1-macro test
|
2018-06-06 02:08:15 +01:00
|
|
|
Added prototypes to allow functions to be independently built
|
2018-06-07 02:37:19 +01:00
|
|
|
Added support for debug format output to help debugging
|
2018-06-08 20:43:36 +01:00
|
|
|
Added function specific counters to make output even more deterministic
|
2018-06-22 02:33:50 +01:00
|
|
|
Added M1-macro seed to eliminate C compiler dependency for bootstrap
|
2018-05-26 21:33:00 +01:00
|
|
|
|
|
|
|
** Changed
|
|
|
|
Improving Documentation to help new programmers get functional
|
2018-06-02 01:05:27 +01:00
|
|
|
Cleaned up numerate_number to make it more general purpose
|
|
|
|
Enabled stand alone builds of calloc
|
|
|
|
Unified bitwise operations
|
|
|
|
Made string.c more independent
|
2018-06-06 02:08:15 +01:00
|
|
|
Created a M1-macro stub file to simplify independent builds
|
2018-06-07 02:37:19 +01:00
|
|
|
Created a hex2_linker stub file to simplify independent builds
|
|
|
|
Created a blood-elf stub file to simplify independent builds
|
2018-05-26 21:33:00 +01:00
|
|
|
|
|
|
|
** Fixed
|
|
|
|
Minor cleanup and removal of unneeded whitespace
|
|
|
|
Fixed outstanding bug when struct foo* foo and foo->bar was used
|
2018-06-02 01:05:27 +01:00
|
|
|
Fixed ":foo bug
|
|
|
|
Fixed "\n:foo bug
|
|
|
|
Adjusted all previous references to numerate_number to ensure output is consistent
|
|
|
|
Fixed up reader so that '\'' and "\"" work correctly now
|
|
|
|
fixed "\"" bug in string output generation
|
2018-05-26 21:33:00 +01:00
|
|
|
|
|
|
|
** Removed
|
2018-06-02 01:05:27 +01:00
|
|
|
Removed need for memset in numerate_number
|
2018-06-06 02:08:15 +01:00
|
|
|
Removed minimal build target as it no longer serves a purpose
|
2018-06-08 20:43:36 +01:00
|
|
|
Removed independent counters for for, while and if jumps
|
2018-05-26 21:33:00 +01:00
|
|
|
|
|
|
|
* 0.1 - 2018-02-23
|
|
|
|
** Added
|
|
|
|
Added example programs
|
|
|
|
Added first generation libc
|
|
|
|
Added first generation defs.M1
|
|
|
|
added FOR Loop support along with example
|
|
|
|
Added support for assembly statements
|
|
|
|
Added CONSTANT to the language
|
|
|
|
Added support for <. >= and > expressions
|
|
|
|
Added struct support
|
|
|
|
Added unary - and ! support
|
|
|
|
Added additional functionality such as mixed structs, do while loops, gotos and tests for the new functionality
|
|
|
|
Incorporate breaks into loops
|
|
|
|
Became Self-Hosting
|
|
|
|
|
|
|
|
** Changed
|
|
|
|
Tweaked argument processing to help mescc support
|
|
|
|
Isolated global_token to cc.c
|
|
|
|
Moved strings to the bottom of the output
|
|
|
|
Broke out globals
|
|
|
|
Started to move type information out of hard-coded logic
|
|
|
|
Started adding tests instead of examples
|
|
|
|
Put common x86 platform logic in a shared folder to reduce duplicate code
|
|
|
|
Converted from legacy M2-Planet Input.c Output.c to M2-Planet -f input.c ... -f
|
|
|
|
Minor reordering of tests
|
|
|
|
|
|
|
|
** Fixed
|
|
|
|
expanded type support to include integer arrays
|
|
|
|
Reduced the memory churn in string creation
|
|
|
|
fixed Capitalization problems
|
|
|
|
|
|
|
|
** Removed
|
|
|
|
Removed need for enum in bootstrapping
|
|
|
|
Removed need for global output list
|
|
|
|
Eliminated the global stack
|
|
|
|
Reduced library dependencies
|
|
|
|
|
|
|
|
* 0.0 - 2017-07-05
|
|
|
|
** Added
|
|
|
|
Added minimal tokenizer
|
|
|
|
Added minimal string support
|
|
|
|
Added minimal parser
|
|
|
|
|
|
|
|
** Changed
|
|
|
|
|
|
|
|
** Fixed
|
|
|
|
|
|
|
|
** Removed
|