drmortalwombat
|
58ab6818ed
|
Add alignment for functions
|
2023-08-03 13:34:23 +02:00 |
|
drmortalwombat
|
f3eb6e19cf
|
Fix linux build
|
2023-08-02 16:52:45 +02:00 |
|
drmortalwombat
|
551316fe59
|
Fix autotest assert
|
2023-07-26 18:02:22 +02:00 |
|
drmortalwombat
|
d8f31b170d
|
Mangle constructor name
|
2023-07-25 14:37:00 +02:00 |
|
drmortalwombat
|
07323b12f9
|
Static init of structs with base classes
|
2023-07-25 11:19:00 +02:00 |
|
drmortalwombat
|
9b2d90ec58
|
Add autotest for string stream
|
2023-07-23 11:19:26 +02:00 |
|
drmortalwombat
|
bd6db60802
|
Add iostream library
|
2023-07-20 14:46:10 +02:00 |
|
drmortalwombat
|
9cdfad7d34
|
Improve cpp code generation
|
2023-07-17 07:52:59 +02:00 |
|
drmortalwombat
|
18c21b3fda
|
Optimize long shifts
|
2023-07-15 22:32:07 +02:00 |
|
drmortalwombat
|
fa60c2e658
|
Improve operator overloading
|
2023-07-14 07:48:48 +02:00 |
|
drmortalwombat
|
6178bb1f9d
|
Shortcut jump cascades
|
2023-07-10 22:12:41 +02:00 |
|
drmortalwombat
|
66631c915b
|
Prefix and inc operator overload
|
2023-07-09 10:52:11 +02:00 |
|
drmortalwombat
|
a46cf3a0d3
|
Add virtual destructor
|
2023-07-08 22:04:55 +02:00 |
|
drmortalwombat
|
ed9aa3503b
|
Added virtual functions
|
2023-07-08 18:53:06 +02:00 |
|
drmortalwombat
|
0b6a9c3584
|
Copy elision on return statements
|
2023-07-05 17:10:23 +02:00 |
|
drmortalwombat
|
0b79d44345
|
Fix location of error message of duplicate function definition
|
2023-07-03 22:39:24 +02:00 |
|
drmortalwombat
|
6c7347310b
|
Init const copy construction
|
2023-07-02 20:48:46 +02:00 |
|
drmortalwombat
|
ef0a79b8f0
|
Index operator overload
|
2023-07-02 18:21:40 +02:00 |
|
drmortalwombat
|
7f6cf654f6
|
Implemented new and delete operators
|
2023-07-02 16:34:17 +02:00 |
|
drmortalwombat
|
7858c2135b
|
Add malloc/free as intrinsic
|
2023-07-02 12:00:53 +02:00 |
|
drmortalwombat
|
1b73df7e25
|
const member functions
|
2023-06-29 18:11:11 +02:00 |
|
drmortalwombat
|
fa9aa9c2bb
|
Visibility in base classes
|
2023-06-29 16:34:38 +02:00 |
|
drmortalwombat
|
3d6b60c9f4
|
Implement base class constructors
|
2023-06-28 22:14:29 +02:00 |
|
drmortalwombat
|
478f93922d
|
Error on pointer/integer compare
|
2023-06-27 18:16:13 +02:00 |
|
drmortalwombat
|
a41c3d445b
|
Add class, public, private and protected keywords
|
2023-06-27 17:18:12 +02:00 |
|
drmortalwombat
|
8f39d736d5
|
Fixing member functions with includes
|
2023-06-27 08:12:20 +02:00 |
|
drmortalwombat
|
0b1b4a7d9b
|
Array constructors
|
2023-06-25 22:24:13 +02:00 |
|
drmortalwombat
|
0f67f7150f
|
Fix linux build
|
2023-06-25 16:16:26 +02:00 |
|
drmortalwombat
|
6b753c1418
|
Destructor tracking of temporary variables
|
2023-06-25 14:25:29 +02:00 |
|
drmortalwombat
|
56740b630d
|
Member constructor and destructor
|
2023-06-22 19:17:45 +02:00 |
|
drmortalwombat
|
a854133f8e
|
Fix over eager global address progpagation
|
2023-06-22 14:04:18 +02:00 |
|
drmortalwombat
|
9bcec5bf17
|
Destructors when leaving scopes the normal way
|
2023-06-21 22:07:00 +02:00 |
|
drmortalwombat
|
daf412a47b
|
Add default constructor
|
2023-06-20 17:16:22 +02:00 |
|
drmortalwombat
|
e577791252
|
Constructors with parameter overloading
|
2023-06-20 10:26:49 +02:00 |
|
drmortalwombat
|
b008d39eae
|
Function overloading in cpp mode
|
2023-06-18 20:27:20 +02:00 |
|
drmortalwombat
|
f72048383a
|
Access to member variables in member functions
|
2023-06-18 16:37:53 +02:00 |
|
drmortalwombat
|
9e92c2863a
|
Add member functions in cpp mode
|
2023-06-18 14:41:23 +02:00 |
|
drmortalwombat
|
37416a61cb
|
Add struct inheritance in cpp mode
|
2023-06-18 10:20:50 +02:00 |
|
drmortalwombat
|
7b40aa59a1
|
Add references for cpp mode
|
2023-06-17 21:07:31 +02:00 |
|
drmortalwombat
|
fd391690b9
|
Add .cpp mode and namespace/using
|
2023-06-17 15:08:03 +02:00 |
|
drmortalwombat
|
c83804a76c
|
Cross function constant propagation
|
2023-06-14 14:40:59 +02:00 |
|
drmortalwombat
|
72687b7581
|
Add compound literals
|
2023-06-10 15:17:57 +02:00 |
|
drmortalwombat
|
9175257bbc
|
Fix function return source position with implicit return
|
2023-05-28 16:12:12 +02:00 |
|
drmortalwombat
|
a4faf204cb
|
Fix enums in debug output
|
2023-05-27 14:17:30 +02:00 |
|
drmortalwombat
|
cdbb24b6b2
|
Add iecbus library
|
2023-05-21 17:19:26 +02:00 |
|
drmortalwombat
|
f8d69f7945
|
Add "enter" and "leave" attributes to dbj for local variables
|
2023-05-17 18:27:09 +02:00 |
|
polluks
|
1616b9335f
|
Fixed typos
|
2023-05-13 15:57:46 +02:00 |
|
drmortalwombat
|
30c602d468
|
Fix missing enums in dbj files
|
2023-05-11 09:39:00 +02:00 |
|
drmortalwombat
|
0639fdc008
|
Unify instruction dependency check in optimizer
|
2023-05-06 18:28:59 +02:00 |
|
drmortalwombat
|
b1fc2e3736
|
Add __bankof operator
|
2023-04-30 18:35:04 +02:00 |
|
drmortalwombat
|
8ede3abcab
|
Fix loss of loop head status in native basic blocks
|
2023-04-16 14:05:09 +02:00 |
|
drmortalwombat
|
6308f22f25
|
Fix warnings
|
2023-04-12 19:02:27 +02:00 |
|
drmortalwombat
|
32ea493c17
|
Prepare per function optimization config using pragmas
|
2023-04-02 19:04:10 +02:00 |
|
drmortalwombat
|
aed086bdb9
|
Add rom mappers to NES target
|
2023-03-11 11:01:11 +01:00 |
|
drmortalwombat
|
4117c9a553
|
More functions for reu library
|
2023-02-25 21:02:06 +01:00 |
|
drmortalwombat
|
0fae7abd72
|
Optimize simple inline assembler code
|
2023-01-21 22:41:13 +01:00 |
|
drmortalwombat
|
29611ec3db
|
Fix striped constant pointer initializer
|
2023-01-19 19:03:02 +01:00 |
|
drmortalwombat
|
d6fcb5f9ca
|
Use CPU register A for single byte parameter and returns
|
2023-01-10 20:41:55 +01:00 |
|
drmortalwombat
|
425aae8f72
|
Fix pointer register loss while forwarding index
|
2022-12-30 15:55:03 +01:00 |
|
drmortalwombat
|
0055911491
|
Add overlay support
|
2022-12-10 17:15:25 +01:00 |
|
drmortalwombat
|
0aa9ca0c70
|
Bump Version number
|
2022-12-10 16:15:04 +01:00 |
|
drmortalwombat
|
8b631d564e
|
Add autotest for striped arrays
|
2022-12-03 13:28:03 +01:00 |
|
drmortalwombat
|
ec31b845b8
|
Fix type check of pointers derived by address of operator
|
2022-11-30 15:07:06 +01:00 |
|
drmortalwombat
|
42b4f46356
|
Add striped array memory layout
|
2022-11-16 08:59:02 +01:00 |
|
drmortalwombat
|
44bd9cf595
|
Fix const enum type check
|
2022-10-25 11:02:00 +02:00 |
|
drmortalwombat
|
8c19b1f148
|
Add heapsize and stacksize pragmas and check in linker
|
2022-09-12 22:01:58 +02:00 |
|
drmortalwombat
|
e50f3f9814
|
Fix lenient semicolon handling in parser
|
2022-09-10 10:05:44 +02:00 |
|
drmortalwombat
|
5435e1c930
|
Improve register allocation in complex loops
|
2022-08-27 15:23:50 +02:00 |
|
drmortalwombat
|
b9396542f0
|
Add page level unrolling
|
2022-08-07 22:29:33 +02:00 |
|
drmortalwombat
|
5d51ea13c5
|
Improve register allocator
|
2022-07-08 21:30:22 +02:00 |
|
drmortalwombat
|
bcc59a9afb
|
Add intermediat code select operator
|
2022-07-02 14:53:00 +02:00 |
|
drmortalwombat
|
fdcaf54666
|
Add unroll pragma for simple loops
|
2022-06-30 09:33:11 +02:00 |
|
drmortalwombat
|
beb8d8e6d7
|
Fix crash on error messages with unnamed objects
|
2022-06-06 22:06:57 +02:00 |
|
drmortalwombat
|
d833ca6834
|
Use array of struct assignments for index range validation
|
2022-05-26 13:55:00 +02:00 |
|
drmortalwombat
|
62d08e139b
|
Optimize pointer arithmetic in loops
|
2022-04-28 15:52:27 +02:00 |
|
drmortalwombat
|
1ee7845bb4
|
Fix disassembler choking on long names
|
2022-04-12 18:22:38 +02:00 |
|
drmortalwombat
|
c635ae8136
|
Optimize const and/or sequences
|
2022-04-10 12:28:39 +02:00 |
|
drmortalwombat
|
72264109e9
|
Add experimental zero page allocation for global variables
|
2022-04-06 19:16:44 +02:00 |
|
drmortalwombat
|
fc5c9f137a
|
Add indexed const array initializer
|
2022-03-26 10:29:48 +01:00 |
|
drmortalwombat
|
6fe9a4f167
|
Fastcall optimization for 2nd and 3rd level calls
|
2022-03-10 16:35:35 +01:00 |
|
drmortalwombat
|
6bd3ecb689
|
Fix over eager const expression inliner
|
2022-02-19 12:16:33 +01:00 |
|
drmortalwombat
|
1221649a3d
|
Add check for __interrupt attribute on function pointers call from interrupt code
|
2022-02-15 09:49:46 +01:00 |
|
drmortalwombat
|
fdb112a037
|
Add constant address calculation for struct members
|
2022-02-14 20:13:30 +01:00 |
|
drmortalwombat
|
2f009f129e
|
Add regions replicated in multiple easyflash banks
|
2022-02-07 18:04:17 +01:00 |
|
drmortalwombat
|
d4352ef043
|
Add __hwinterrupt function decoration
|
2022-02-06 10:28:09 +01:00 |
|
drmortalwombat
|
5147ec6bc9
|
Fix function pointers in struct consts
|
2022-02-05 16:52:54 +01:00 |
|
drmortalwombat
|
34220b96e3
|
Add auto generation of multiplier tables if variable factor is known to be small
|
2022-02-02 22:05:55 +01:00 |
|
drmortalwombat
|
c6133ce7c0
|
Add error message on crash, fix infinite loop, extend asm listing
|
2022-02-02 08:58:35 +01:00 |
|
drmortalwombat
|
e1f605b28c
|
Optimize value forwarding and memory alias check
|
2022-01-31 13:33:39 +01:00 |
|
drmortalwombat
|
60165a7fc3
|
Add "*" symbol for current address in inline assembler
|
2022-01-29 13:33:57 +01:00 |
|
drmortalwombat
|
5c8b1c6daf
|
Add __export, __native and __interrupt storage class specifiers
|
2022-01-26 21:48:19 +01:00 |
|
drmortalwombat
|
94532fe038
|
Fix enum size
|
2022-01-26 12:41:12 +01:00 |
|
drmortalwombat
|
9f41a55a18
|
Fix static declaration in header files
|
2022-01-23 21:14:30 +01:00 |
|
drmortalwombat
|
ca93f107c3
|
Add relocated sections
|
2022-01-22 18:21:52 +01:00 |
|
drmortalwombat
|
742866c8c2
|
Enable charmap inside a series of string literals
|
2022-01-22 13:41:24 +01:00 |
|
drmortalwombat
|
cc927d778f
|
Improve C const declaration compatibility
|
2022-01-21 14:42:49 +01:00 |
|
drmortalwombat
|
c72ca3547b
|
Fix longjump and kernalio end of file handling
|
2022-01-13 10:37:44 +01:00 |
|
drmortalwombat
|
640007546f
|
Add __assume builtin function
|
2022-01-08 15:51:17 +01:00 |
|
drmortalwombat
|
57c72b1788
|
Reduce y register pressure if x available
|
2021-12-27 10:49:18 +01:00 |
|
drmortalwombat
|
893b6f2294
|
Optimize long divide for short divisor
|
2021-12-19 22:18:05 +01:00 |
|
drmortalwombat
|
6d716b9478
|
Optimize 32bit shifts
|
2021-12-18 22:21:39 +01:00 |
|
drmortalwombat
|
a1fda2b957
|
Fix float parameter and return values
|
2021-12-09 21:38:36 +01:00 |
|
drmortalwombat
|
93174c8e68
|
Add overflow and underflow checking for floats
|
2021-11-24 20:01:08 +01:00 |
|
drmortalwombat
|
4af2bc0bb2
|
Add setjmp and longjmp
|
2021-11-20 20:25:53 +01:00 |
|
drmortalwombat
|
cd77372350
|
Remove superfluous rts from inline assembler blocks that end with a jmp
|
2021-11-16 20:54:10 +01:00 |
|
drmortalwombat
|
180da3de4a
|
Fix array[] parameters in functions
|
2021-11-04 08:29:54 +01:00 |
|
drmortalwombat
|
e057e24918
|
Added stddef.h
|
2021-10-23 16:51:27 +02:00 |
|
drmortalwombat
|
55b79ecfce
|
Fix struct scoping
|
2021-10-23 11:56:30 +02:00 |
|
drmortalwombat
|
9833656fcf
|
More cartridge hacking
|
2021-10-19 22:29:23 +02:00 |
|
drmortalwombat
|
6481e119e4
|
Fix various errors triggered by fuzzing
|
2021-10-17 18:20:44 +02:00 |
|
drmortalwombat
|
194c7a2af4
|
Fix int + pointer operation
|
2021-10-16 23:07:28 +02:00 |
|
drmortalwombat
|
19a54432f6
|
Struct function return value
|
2021-10-16 16:45:08 +02:00 |
|
drmortalwombat
|
c2886e2532
|
Fix infinite for(;;) loop
|
2021-10-16 10:49:11 +02:00 |
|
drmortalwombat
|
545b9a6aba
|
Fix cascaded assignment
|
2021-10-16 10:27:32 +02:00 |
|
drmortalwombat
|
fc0f8e2442
|
Fix conditional operator with pointes and arrays
|
2021-10-14 13:15:10 +02:00 |
|
drmortalwombat
|
da57ae00c5
|
Add vic include file
|
2021-10-11 22:14:19 +02:00 |
|
drmortalwombat
|
d493bddf8d
|
Improve inline assembler parser
|
2021-10-10 20:51:21 +02:00 |
|
drmortalwombat
|
0e59af5122
|
Fix petscii characters changed includes and pragmas
|
2021-10-10 17:30:57 +02:00 |
|
drmortalwombat
|
11af372509
|
More autoinline optimizations
|
2021-10-10 17:14:12 +02:00 |
|
drmortalwombat
|
60489bb79e
|
Refactor inter instrction operator handling
|
2021-10-08 09:07:01 +02:00 |
|
drmortalwombat
|
e7231e27e0
|
Prepare fastcall
|
2021-10-07 15:14:23 +02:00 |
|
drmortalwombat
|
fb4ae26afb
|
Prepare access to local variables in inline assembler
|
2021-10-07 10:42:18 +02:00 |
|
drmortalwombat
|
330e022a43
|
Exclude bss segment from prg file
|
2021-10-05 18:24:03 +02:00 |
|
drmortalwombat
|
542cb66693
|
Fixes to get dhrystone.c to compile and run
|
2021-10-03 20:35:50 +02:00 |
|
drmortalwombat
|
bf825302aa
|
Add function inline expansion
|
2021-10-02 22:04:42 +02:00 |
|
drmortalwombat
|
3d9302c90c
|
Support for long integer with byte code
|
2021-10-02 10:06:13 +02:00 |
|
drmortalwombat
|
e713dc5940
|
Direct embedding of inline assembler in native code
|
2021-09-28 18:35:23 +02:00 |
|
drmortalwombat
|
9eb5412848
|
Merge changes for Mac build
|
2021-09-27 13:38:45 +02:00 |
|
drmortalwombat
|
f925833884
|
Move executable into bin folder for windows and linux
|
2021-09-25 18:20:32 +02:00 |
|
drmortalwombat
|
fd10525780
|
Add makefile for linux
|
2021-09-24 16:17:20 +02:00 |
|
drmortalwombat
|
123da8c155
|
Add charmap pragma
|
2021-09-23 08:26:46 +02:00 |
|
drmortalwombat
|
eebc39e53a
|
Fix return type coercion, region based linker
|
2021-09-21 20:44:19 +02:00 |
|
drmortalwombat
|
1d64404b24
|
Change format of error messages
|
2021-09-21 14:55:11 +02:00 |
|
drmortalwombat
|
27d7baaac2
|
Using linker objects and sections
|
2021-09-20 22:36:16 +02:00 |
|
drmortalwombat
|
d3d20bee26
|
Prepare section based linker
|
2021-09-19 22:22:16 +02:00 |
|
drmortalwombat
|
10bb751449
|
Fix struct over header boundaries
|
2021-09-19 20:00:36 +02:00 |
|
drmortalwombat
|
c5d1e2351e
|
Add support for assembler function as const initialiser
|
2021-09-19 17:24:48 +02:00 |
|
drmortalwombat
|
e2e20581a6
|
Prepare byte level optimisations
|
2021-09-14 16:34:48 +02:00 |
|
drmortalwombat
|
8de4bef436
|
Improved value forwarding across conditiona branches
|
2021-09-12 22:32:31 +02:00 |
|
drmortalwombat
|
87ccd5e221
|
More autotest
|
2021-09-12 16:05:23 +02:00 |
|
drmortalwombat
|
dac1fa70b3
|
Fix array const init by string literal
|
2021-09-12 14:42:02 +02:00 |
|
drmortalwombat
|
8031ad8dee
|
Add union
|
2021-09-12 10:04:37 +02:00 |
|
drmortalwombat
|
82d499fdae
|
Native code compiler is functional same level as byte code
Runs all the autotests now in byte code and native code
|
2021-09-11 22:21:57 +02:00 |
|
drmortalwombat
|
897de02adf
|
Fix unnamed parameters in function prototype
|
2021-09-11 16:05:31 +02:00 |
|
drmortalwombat
|
93b6aca8a3
|
More native code generator
|
2021-09-11 15:01:32 +02:00 |
|
drmortalwombat
|
07f797e577
|
Formatting options in printf
|
2021-09-10 16:13:47 +02:00 |
|
drmortalwombat
|
fcedf69aff
|
More native code compiler additions
|
2021-09-08 22:04:01 +02:00 |
|
drmortalwombat
|
056df56eef
|
First shot native code generator
Implements basic load, store compare and add/sub/shift for native compiled functions
|
2021-09-07 22:35:11 +02:00 |
|
drmortalwombat
|
722347609d
|
Fix array of array of char init with strings
|
2021-09-07 13:37:56 +02:00 |
|
drmortalwombat
|
a839ccc960
|
Moved storage class parsing from base type to variable level
|
2021-09-07 08:13:14 +02:00 |
|