drmortalwombat
1f17f1c198
Fix assert in peephole optimizer
2024-03-26 08:23:13 +01:00
drmortalwombat
aa601a5727
Change memset and memclr to intrinsic functions
2024-03-24 11:22:13 +01:00
drmortalwombat
85fad64e9c
Optimize post inc/dec while loop conditions
2024-03-21 19:33:50 +01:00
drmortalwombat
30d942478f
Fix infinite loop in move condition out of loop
2024-03-13 22:14:29 +01:00
drmortalwombat
89750c3f73
promote array of const members to be const as well
2024-03-11 13:40:54 +01:00
drmortalwombat
45246a2f2d
Fix variable size when defining extern struct with anon struct
2024-03-07 20:42:21 +01:00
drmortalwombat
0c43952e37
Improve constant branch forwarding
2024-03-07 13:20:39 +01:00
drmortalwombat
f877e5b8c2
Fix assert in linux sample build
2024-02-28 21:26:25 +01:00
drmortalwombat
2d50d56606
Fix copy and load with striped arrays
2024-02-27 18:02:12 +01:00
drmortalwombat
bdecbe77e4
Fix 16bit zero page global variable inc/dec
2024-02-27 09:08:56 +01:00
drmortalwombat
f39cb38eb3
Fix unary ops on striped struct members
2024-02-26 20:38:02 +01:00
drmortalwombat
e2f822e7d1
Improve short function call loop
2024-02-25 18:43:53 +01:00
drmortalwombat
0b58e9eaaf
Fix global aliasing collision with striped data
2024-02-25 18:00:10 +01:00
drmortalwombat
0a76a57f18
Bump version number
2024-02-24 15:50:47 +01:00
drmortalwombat
22ffbfa63c
Fix source location when coalescing JSR and RTS in JMP
2024-02-24 09:52:32 +01:00
drmortalwombat
94a3097ba7
Fix find loop optimization with mirrored condition
2024-02-21 15:05:17 +01:00
drmortalwombat
aab71cbab3
Add more std c include files
2024-02-20 14:16:32 +01:00
drmortalwombat
1041ef03eb
Bump version number
2024-02-19 14:30:53 +01:00
drmortalwombat
e2f36bbb9a
Fix parse embed with hex skip or size setting
2024-02-19 14:19:15 +01:00
drmortalwombat
5e9df61ffc
Fix read after write hazzard in function param proxy size optimization
2024-02-18 20:35:07 +01:00
drmortalwombat
cc5a90ac21
Fix long unsigned int comparison
2024-02-18 18:30:51 +01:00
drmortalwombat
3900e1cf92
fix pragma strings with petscii
2024-02-18 17:57:27 +01:00
drmortalwombat
6b98a44fc0
Improve auto inlining decision with O2
2024-02-18 14:35:41 +01:00
drmortalwombat
2698595302
bump version number
2024-02-18 10:02:29 +01:00
drmortalwombat
f6ab79319f
More compatibility fixes for -psci
2024-02-18 09:31:05 +01:00
drmortalwombat
264a80d88e
Pausing petscii string options for #include and #embed
2024-02-17 17:43:24 +01:00
drmortalwombat
020ab117a4
Fix value copy crossing function call
2024-02-17 17:37:47 +01:00
drmortalwombat
8457316815
Fix unsigned promotion for binary not operator
2024-02-17 13:10:14 +01:00
drmortalwombat
58ffe2ad06
Fix hex arguments for pragmas
2024-02-17 12:53:31 +01:00
drmortalwombat
6f7efd9efc
Optimized long multiply
2024-02-17 12:06:15 +01:00
drmortalwombat
b84cce7609
Improve compatibility with some C quirks
2024-02-16 21:39:35 +01:00
drmortalwombat
8fc382c11e
Fix high byte address calculation cascade
2024-02-15 20:52:10 +01:00
drmortalwombat
fadcb61bc7
bump version number
2024-02-15 16:20:15 +01:00
drmortalwombat
7ebf71b161
Switch to Visual Studio 2022 toolset
2024-02-15 15:36:25 +01:00
drmortalwombat
003550337a
Fix debug and linux build
2024-02-15 13:29:02 +01:00
drmortalwombat
c909995011
Reduce compiler memory footprint
2024-02-15 09:58:26 +01:00
drmortalwombat
18cfbc713a
Force some inline calls in vdc
2024-02-14 15:24:01 +01:00
drmortalwombat
806539a2d6
add "tan" to intrinsic functions
2024-02-13 20:49:11 +01:00
Stefan
1d49e0a987
Fixed warning
...
c++ -c -g -O2 -std=c++11 -Wno-switch ../oscar64/oscar64.cpp -o oscar64.o
../oscar64/Scanner.cpp:768:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while (mTokenString[i] = def->mString[i])
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../oscar64/Scanner.cpp:768:29: note: place parentheses around the assignment to silence this warning
while (mTokenString[i] = def->mString[i])
^
( )
../oscar64/Scanner.cpp:768:29: note: use '==' to turn this assignment into an equality comparison
while (mTokenString[i] = def->mString[i])
^
==
1 warning generated.
2024-02-13 18:28:33 +01:00
drmortalwombat
bcc20d3986
Switch to x64 compiler binary
2024-02-13 16:53:44 +01:00
drmortalwombat
431c5d3282
Add info message, if object cannot be placed by linker
2024-02-12 18:06:30 +01:00
drmortalwombat
ce5be92225
Fix linux build
2024-02-12 17:40:03 +01:00
drmortalwombat
2ed3d8b445
Bump version number
2024-02-04 11:26:37 +01:00
drmortalwombat
f498da5e42
Add __DATE__ and __TIME__ defines
2024-02-04 10:45:02 +01:00
drmortalwombat
7d6eb36ee7
Fix assignment of immediates to returned struct
2024-02-04 09:43:52 +01:00
drmortalwombat
ecaab1b5b3
Fix crash compiling infinite loop
2024-01-30 15:04:13 +01:00
drmortalwombat
80efe2351b
Optimize short wait loop handling
2024-01-28 19:09:59 +01:00
drmortalwombat
91c907be7e
Improve BYT operands in inline assembler
2024-01-28 09:39:40 +01:00
drmortalwombat
fafbbe82d1
Fix prevent swap of X and Y when used in JSR
2024-01-27 19:50:34 +01:00
drmortalwombat
b3d80bcb0f
Limit inline asm check to same section
2024-01-27 17:50:53 +01:00
drmortalwombat
4901e015f6
Undo JSR optimization for testing
2024-01-27 17:48:30 +01:00
drmortalwombat
fdb52bcdc6
Limit JSR->JMP forwarding
2024-01-27 17:43:08 +01:00
drmortalwombat
974688a8a5
Fix overlay prg file save
2024-01-27 17:11:10 +01:00
drmortalwombat
2ad71ef867
Bump version number
2024-01-27 10:26:22 +01:00
drmortalwombat
c1083b44dc
Optimize constant loops
2024-01-27 10:19:14 +01:00
drmortalwombat
b0dc6fdd1e
Add save as .prg for overlay files
2024-01-27 09:37:48 +01:00
drmortalwombat
7f51d6330e
Fixed 1 - i for bytes, wrong operand order
2024-01-26 12:41:13 +01:00
drmortalwombat
3992b1d547
Add warning for out of bounds accesses
2024-01-24 17:30:03 +01:00
drmortalwombat
2c1a87ce02
Control assert with _DEBUG to avoid gcc core dump
2024-01-23 16:53:30 +01:00
drmortalwombat
529618ffa4
Changed error format to "oscar64:" when error outside of source file
2024-01-23 15:58:47 +01:00
drmortalwombat
bcc5e9d362
Fix propagation of conditions out of loops
2024-01-23 09:02:38 +01:00
drmortalwombat
6444ba58cf
bump version number
2024-01-21 15:39:26 +01:00
drmortalwombat
4fc3e019d5
Add ranges in case statements (gcc extension)
2024-01-21 15:17:46 +01:00
drmortalwombat
dcebdeaa5f
Fix parsing of trailing comma in initializer list
2024-01-21 09:25:34 +01:00
drmortalwombat
8a49ffd111
Improve unrolled loops towards zero
2024-01-20 13:49:25 +01:00
drmortalwombat
a19469d851
Fix exportet variable alignment calculation
2024-01-16 08:12:47 +01:00
drmortalwombat
265be6e766
Move linker chattyness into -v2
2024-01-12 22:51:11 +01:00
drmortalwombat
cac7db4358
Fix memory size mismatch in reverse integer range propagation due to register renaming
2024-01-10 22:59:45 +01:00
drmortalwombat
4eaa6c8b1e
Add immediate variable address parameter in inline assembler
2024-01-10 12:22:46 +01:00
drmortalwombat
5634abdba4
Fix compiler warnings on linux/macos
2024-01-09 20:04:40 +01:00
drmortalwombat
a6b3533e61
Fix struct volatile cast
2024-01-08 20:41:48 +01:00
drmortalwombat
1abdd1476e
Fix error message when propagating invalid function parameter to const
2024-01-08 18:20:55 +01:00
drmortalwombat
0bc4e7cda6
Fix inc/mov of absolute values
2024-01-07 16:13:01 +01:00
drmortalwombat
36d6fc6760
Fix placement of proxy variables for unused parameters
2024-01-06 20:00:55 +01:00
drmortalwombat
7ea4356361
Fix function end location in dbj file
2024-01-06 17:07:10 +01:00
drmortalwombat
d676ccc1bd
Fix dbj file reference with optimized variable
2024-01-06 14:03:29 +01:00
drmortalwombat
1c1d7fefaa
Add c128e target machine
2024-01-06 09:09:52 +01:00
drmortalwombat
a7d7db37df
Bump version number
2024-01-04 17:56:42 +01:00
drmortalwombat
5d51cf75e8
Fix cross block zp move optimization
2024-01-04 14:14:28 +01:00
drmortalwombat
d9f81ad653
Improve cross function memory aliasing analysis
2024-01-03 22:23:20 +01:00
drmortalwombat
34947da898
Fix loop integer range propagation
2024-01-02 22:21:05 +01:00
Ralf Horstmann
fc6c83e9cd
Fix out of bounds access to LinkerObjectTypeNames
...
One entry was missing, causing segmentation fault on some platforms.
2024-01-01 14:16:02 +01:00
drmortalwombat
940cb4a5b9
Add declaration to reference list in dbj
2023-12-31 13:30:29 +01:00
drmortalwombat
c138c0f2ae
Fix loss of zp dependency on diamond register propagation
2023-12-31 10:29:59 +01:00
drmortalwombat
5a3cbff259
Add references to dbj file
2023-12-30 12:17:46 +01:00
drmortalwombat
da20b4d27a
Fix atan2, failed in mathtest.c
2023-12-30 09:21:17 +01:00
drmortalwombat
064bf0f8e5
Bump Version Number
2023-12-23 10:45:00 +01:00
drmortalwombat
a305dbb1cd
Improve function placement in linker
2023-12-23 10:40:45 +01:00
drmortalwombat
59b1d971d0
Changes sprintf to snprintf
2023-12-18 13:00:54 +01:00
drmortalwombat
ef6598e94b
Fix unnamed structs
2023-12-18 07:40:31 +01:00
drmortalwombat
04518e4ff3
Add error message for unnamed structs
2023-12-17 22:45:21 +01:00
drmortalwombat
4a8010a3a0
Fix loss of zero page dependency in tail code merge
2023-12-17 12:40:09 +01:00
drmortalwombat
ae4b48c445
Various loop optimizations
2023-12-16 21:03:09 +01:00
drmortalwombat
6cf8466dfd
Fix overeager lda/sta join of tail blocks
2023-12-12 22:39:22 +01:00
drmortalwombat
6bbf325720
Add BIT instruction for sign check, add inlay sections in linker
2023-12-12 11:08:59 +01:00
drmortalwombat
ee67c6dec1
Add more HEAPCHECK
2023-12-10 12:41:37 +01:00
drmortalwombat
16810b63d4
Fix over eager lda/sta movement
2023-12-10 09:48:23 +01:00
drmortalwombat
1e0450cd8a
Optimize sprite multiplexer
2023-12-09 13:40:58 +01:00
drmortalwombat
1d337f1244
Fix accu train movement to end of block
2023-12-07 14:22:05 +01:00
drmortalwombat
cce2f272ef
Add optimization section to readme
2023-12-06 13:55:38 +01:00
drmortalwombat
d48da32586
Improve placement of "if" cascades
2023-12-04 22:09:33 +01:00
drmortalwombat
8a33fe3e60
Bump version number
2023-12-02 11:04:20 +01:00
drmortalwombat
8ab46e29dd
Direct parameter forwarding
2023-12-02 10:58:20 +01:00
drmortalwombat
003306f961
Fix noinline, improve cartridge use of bank 0
2023-11-29 20:53:04 +01:00
drmortalwombat
cf28c1a618
Move conditions out of loops
2023-11-28 17:40:44 +01:00
drmortalwombat
8fd560a643
Bump version number
2023-11-26 22:41:17 +01:00
drmortalwombat
d5026ed9b0
Fix join common branch sequence
2023-11-26 21:34:06 +01:00
drmortalwombat
57537cd43a
Join common branch code sequences
2023-11-26 15:46:59 +01:00
drmortalwombat
eec4ed45d1
Fix global array aliasing error
2023-11-20 22:53:12 +01:00
drmortalwombat
a9fc83d63c
Add xname attribute to .dbj file
2023-11-20 17:28:48 +01:00
drmortalwombat
a5f4cf3252
Fix default constructor with classes in header file
2023-11-20 17:03:34 +01:00
drmortalwombat
6995f5a683
Decorate vcall multiplexer
2023-11-20 13:07:29 +01:00
drmortalwombat
0309fcb286
Fixed copy with offset
2023-11-20 08:29:23 +01:00
drmortalwombat
38e1cd0bab
Fix join entry loadstore zp if accu is used cross block
2023-11-16 21:52:06 +01:00
drmortalwombat
157f9c00e5
Fix do while loop with function condition
2023-11-16 16:40:11 +01:00
drmortalwombat
44e6921842
Change string literal processing to use unsigned chars
2023-11-14 15:02:35 +01:00
drmortalwombat
ee03f08f52
Fix over eager zp parameter reuse
2023-11-11 22:37:35 +01:00
drmortalwombat
a59f55c1f3
Fix block join target move zp
2023-11-10 20:53:20 +01:00
drmortalwombat
3be6d20006
Add enum class
2023-11-09 16:33:50 +01:00
drmortalwombat
70c6fb23cc
Fix for stack virtual call
2023-11-08 15:35:45 +01:00
drmortalwombat
e43c086545
Add enum to int conversion in function call overload
2023-11-07 08:08:44 +01:00
drmortalwombat
06ab48461b
Implement striped unions
2023-11-06 21:33:04 +01:00
drmortalwombat
8ea991db81
Optimize div/mod unsigned pairs
2023-11-03 20:16:23 +01:00
drmortalwombat
d9c84e3a15
Disable vtable dispatcher inlining
2023-11-02 08:18:09 +01:00
drmortalwombat
8aeddf0316
Fix previous fix
2023-10-30 19:43:37 +01:00
drmortalwombat
8a27cba1f9
Fix inifinite pumping loop in integer range optimizer
2023-10-30 18:02:34 +01:00
drmortalwombat
f808309058
Fix wrong string mangling for auto param names
2023-10-30 13:17:23 +01:00
drmortalwombat
ae15eca0ef
Fix array to pointer cast in const initializer
2023-10-29 20:00:38 +01:00
drmortalwombat
781bb83dd1
Bump version number
2023-10-29 17:57:32 +01:00
drmortalwombat
1d4eb70414
Optimize struct copies
2023-10-29 17:55:26 +01:00
drmortalwombat
75301fa12d
Fix crash with array new
2023-10-28 12:02:28 +02:00
drmortalwombat
f541cf3848
Fix per tile color in charpad import
2023-10-27 17:59:37 +02:00
drmortalwombat
d9a8c5ea08
Fix template expansion of member functions
2023-10-27 14:53:19 +02:00
drmortalwombat
0080a85345
Fix deadlock on empty switch statement
2023-10-26 07:54:03 +02:00
drmortalwombat
f6536a412e
Fix SAR/MUL optimization
2023-10-24 21:20:07 +02:00
drmortalwombat
982fe17aed
Fix compiler crash when using function result in if condition
2023-10-24 14:29:46 +02:00
drmortalwombat
0a3ad006b7
Fix simple struct member optimization for array cases
2023-10-22 19:50:26 +02:00
drmortalwombat
f8f81f6d4c
Optimize compile time
2023-10-22 19:35:37 +02:00
drmortalwombat
3377ac04fc
Fix const use and vtable incompatibility
2023-10-22 12:34:26 +02:00
drmortalwombat
6e4bf52781
Optimize switch case tree
2023-10-19 21:15:01 +02:00
drmortalwombat
6cb15fd7d9
Improve incompatible type error message
2023-10-19 17:27:09 +02:00
drmortalwombat
f7d6b52074
Fixed striped auto pointer
2023-10-18 20:26:11 +02:00
drmortalwombat
0f5e933002
Optimize cross block constant propagation
2023-10-18 15:57:59 +02:00
drmortalwombat
9e3b014927
Eliminate some simple dead X/Y loops
2023-10-16 21:51:20 +02:00
drmortalwombat
f5c13c02af
Some native code opts
2023-10-16 21:29:42 +02:00
drmortalwombat
63725f3511
Fix const eval of sin/cos
2023-10-16 17:24:35 +02:00
drmortalwombat
da5326cc5f
Fix local multi dim array init
2023-10-16 15:01:30 +02:00
drmortalwombat
19e2498cc8
Fix member constructor for multi dim array members
2023-10-16 14:13:20 +02:00
drmortalwombat
7858e32d12
Improve handling of single member structs
2023-10-15 20:17:04 +02:00
drmortalwombat
454c4f5dbe
Bump version number
2023-10-15 14:22:59 +02:00
drmortalwombat
eb16767bdb
Optimize wide right shift
2023-10-15 13:59:30 +02:00
drmortalwombat
6e6e3b2adb
Fix line directive over consumption
2023-10-15 12:26:32 +02:00
drmortalwombat
3da58bf1ca
Fix line directive off by one error
2023-10-15 12:01:24 +02:00
drmortalwombat
4e76b34f53
constexpr constructor
2023-10-14 18:50:27 +02:00
drmortalwombat
d160b2ae65
Optimize bitfields
2023-10-14 16:51:33 +02:00
drmortalwombat
4f76ffa311
Implement #line directive
2023-10-14 15:19:24 +02:00
drmortalwombat
9156db9c32
Restart integer range estimation from full state
2023-10-14 13:43:11 +02:00
drmortalwombat
ecf8e69cf2
Add restricted pointer attribute to newly allocated memory
2023-10-13 11:18:16 +02:00
drmortalwombat
2027ac5d4c
Fix template expansion in multiple cpp
2023-10-12 14:10:34 +02:00
drmortalwombat
020afb8722
bump version number
2023-10-10 09:06:31 +02:00
drmortalwombat
6a30a38415
Fix multi instantiation of inline constructors
2023-10-10 09:02:30 +02:00
drmortalwombat
312914d78c
Bump version number
2023-10-08 21:44:30 +02:00
drmortalwombat
d4f979b1bc
Fix accu return with temp spilling
2023-10-08 21:30:53 +02:00
drmortalwombat
33d692194a
Add iterators to string
2023-10-08 16:27:52 +02:00
drmortalwombat
e084035a71
Common sub expression across if
2023-10-03 15:21:33 +02:00
drmortalwombat
313b6dcf93
Fix struct assign in constexpr
2023-10-03 12:47:24 +02:00
drmortalwombat
4e6769d81c
Add <new> header file
2023-10-02 18:43:58 +02:00
drmortalwombat
c53a288d0b
Optimize index chains
2023-10-01 21:48:09 +02:00
drmortalwombat
235437be56
Fix absolute address high byte propagation error
2023-09-30 22:22:33 +02:00
drmortalwombat
078d14861c
Some data path optimizations
2023-09-30 18:10:03 +02:00
drmortalwombat
c98ff08f56
Fix infinite loop eating the entry block
2023-09-27 18:53:35 +02:00
drmortalwombat
619c4f8962
Join consecutive functions in linker
2023-09-24 22:22:48 +02:00
drmortalwombat
da29a87477
Fix address of array in const declaration to return correct pointer type
2023-09-24 11:03:54 +02:00
drmortalwombat
bba8931860
Fix const node polution in const param optimization
2023-09-23 18:52:26 +02:00
drmortalwombat
cda66f3ec4
Function pointer forwarding
2023-09-23 18:01:28 +02:00
drmortalwombat
9d8c6991e8
Add global optimizer for parameter/return optimizations
2023-09-23 14:56:04 +02:00
drmortalwombat
c7f919e22e
Bump version number
2023-09-20 18:06:48 +02:00
drmortalwombat
a0409002b6
Fix pointers in constexpr
2023-09-20 14:19:56 +02:00
drmortalwombat
e20c098ab1
Fix samples build error
2023-09-18 07:41:49 +02:00
drmortalwombat
f211eef837
Add fold expressions for argument packs
2023-09-17 20:34:42 +02:00
drmortalwombat
38274fb4f7
Add emplace_back in vector
2023-09-17 15:40:05 +02:00
drmortalwombat
c674fc9a8b
Add variadic sizeof...
2023-09-17 11:39:18 +02:00
drmortalwombat
06ebf85d9d
Recursive variadic templates
2023-09-17 10:24:28 +02:00
drmortalwombat
935a38607b
Bump version number
2023-09-14 19:45:55 +02:00
drmortalwombat
d9106be820
Lambda in constexpr
2023-09-14 12:03:28 +02:00
drmortalwombat
0e6cb5557a
Auto parameters in lambdas
2023-09-14 10:30:52 +02:00
drmortalwombat
64b3bfa30f
Optimize temporary object livetime
2023-09-13 19:05:33 +02:00
drmortalwombat
532bf51718
Range for loop with reference iteration
2023-09-13 17:24:38 +02:00
drmortalwombat
eccb2787dc
Add simple range for loop
2023-09-12 21:33:59 +02:00
drmortalwombat
d94d52b852
fix assert in linux autotest
2023-09-12 15:44:16 +02:00
drmortalwombat
2b51f20b1c
Add lambda
2023-09-12 15:36:24 +02:00
drmortalwombat
c926456560
Add simple return type deduction
2023-09-11 17:49:04 +02:00
drmortalwombat
ab49281b0d
Implement operator()
2023-09-11 16:19:11 +02:00
drmortalwombat
1b50baf852
Fix wrong unicode character in error message
2023-09-11 13:03:07 +02:00
drmortalwombat
c1ecf1c281
Added bitfields
2023-09-11 08:04:09 +02:00
drmortalwombat
3374544ced
Fix base type compare in template check
2023-09-10 10:28:25 +02:00
drmortalwombat
bd37877c8c
Add heap support to constexpr
2023-09-09 12:09:05 +02:00
drmortalwombat
4dd3cd967a
Add switch, break and continue to constexpr
2023-09-08 21:03:18 +02:00
drmortalwombat
ab273181f5
First shot implementing constexpr
2023-09-08 20:12:38 +02:00
drmortalwombat
cb352fcc7c
Bump version number
2023-09-04 22:23:00 +02:00
drmortalwombat
e9afd5e284
Fix template function included multiple ways
2023-08-31 20:17:39 +02:00
drmortalwombat
da9b8f2a42
Fix return of const array as pointer
2023-08-31 14:13:43 +02:00
drmortalwombat
5b4e5b545d
Add or/and/shift to inline assembler
2023-08-20 19:06:24 +02:00
drmortalwombat
54296bdd71
Add friend classes
2023-08-20 15:06:51 +02:00
drmortalwombat
4732f76bd5
Add static member variables
2023-08-20 14:17:40 +02:00
drmortalwombat
07dc6dc4db
Optimize simple virtual with const return to table lookup
2023-08-20 12:02:06 +02:00
drmortalwombat
6ff2409596
Fix return register optimization in v table call
2023-08-20 09:26:26 +02:00
drmortalwombat
bd3c7571c5
bump version number
2023-08-19 21:57:44 +02:00
drmortalwombat
8dc37e9ab2
Mangling function types in template expansion
2023-08-18 23:03:15 +02:00
drmortalwombat
3a9cd85072
Optimize simple const ref to value in functions
2023-08-18 13:13:39 +02:00
drmortalwombat
0440f0ef19
More template support
2023-08-17 14:55:43 +02:00
drmortalwombat
b7daafcac8
Add list and iterators to opp
2023-08-16 16:16:04 +02:00
drmortalwombat
952d087a2b
Add using with list of names
2023-08-15 13:16:39 +02:00
drmortalwombat
69b46c4b7b
Fix namespaces for templates
2023-08-15 12:46:57 +02:00
drmortalwombat
50cc2afb52
Add template algorithm sort
2023-08-15 11:05:52 +02:00
drmortalwombat
ae2fbb6256
Global object initialization
2023-08-14 18:09:35 +02:00
drmortalwombat
80426d974c
Add RValue Reference
2023-08-13 20:53:39 +02:00
drmortalwombat
61f8b68c2f
Fix duplicate member cons/destructor if class included from multiple cpp
2023-08-13 11:00:02 +02:00
drmortalwombat
9d6691cf91
Copy constructor and destruct for scalar types
2023-08-12 18:19:46 +02:00
drmortalwombat
cb5451b9b9
Automatic function template expansion
2023-08-12 15:25:30 +02:00
drmortalwombat
5b7334bb17
Add placement new and destructor call
2023-08-11 19:04:13 +02:00
drmortalwombat
fef6bc29bc
Add templates
2023-08-11 07:41:27 +02:00
drmortalwombat
07969d1fa6
Fix type coercion from empty string pointer to 0
2023-08-08 17:33:47 +02:00
drmortalwombat
b7630450f1
Improve C++ compliance
2023-08-08 14:19:08 +02:00
drmortalwombat
c46870ec10
bump version number
2023-08-07 17:50:17 +02:00
drmortalwombat
0f31a4e8c6
Add error for overlapping data sections
2023-08-07 16:06:34 +02:00
drmortalwombat
0d95a74813
Add cartridge bank lookup for lables in asm file
2023-08-07 15:50:01 +02:00
drmortalwombat
1407d9d948
Add function default parameters
2023-08-06 15:21:11 +02:00
drmortalwombat
8161ff88a8
Fix crash on infinite macro expansion
2023-08-06 11:51:11 +02:00
drmortalwombat
1931f25475
Add struct member initializer
2023-08-05 21:52:44 +02:00
drmortalwombat
58ab6818ed
Add alignment for functions
2023-08-03 13:34:23 +02:00
drmortalwombat
eac12e4559
Fix cpp compare of two derived pointers
2023-08-02 22:29:10 +02:00
drmortalwombat
f3eb6e19cf
Fix linux build
2023-08-02 16:52:45 +02:00
drmortalwombat
ec15336174
Fix stack allocation with false recursion with function pointers
2023-08-01 22:17:55 +02:00
drmortalwombat
b1a42e5ecf
Fix linux build
2023-08-01 15:50:11 +02:00
drmortalwombat
19ab2b8d38
Fix linux build
2023-08-01 13:46:30 +02:00
drmortalwombat
fa218d8dd7
Fix adc to inx with wrong address mode
2023-07-31 22:53:55 +02:00
drmortalwombat
34c0df228b
Bump version number
2023-07-30 14:46:32 +02:00
drmortalwombat
8a283cc43b
Fix register conflict in short index forwarding
2023-07-30 13:57:15 +02:00
drmortalwombat
e013142cb1
Cross block register optimizations
2023-07-30 11:24:19 +02:00
drmortalwombat
0b1d42b7d5
Expand global aliasing analysis
2023-07-29 22:15:00 +02:00
drmortalwombat
ae21bbac09
Bump version number
2023-07-28 18:59:12 +02:00
drmortalwombat
3664645393
Merge branch 'main' of https://github.com/drmortalwombat/oscar64
2023-07-28 18:51:34 +02:00
drmortalwombat
02e7f15810
Improve outer loop optimizations
2023-07-28 18:51:29 +02:00
Stefan
312265c395
Support of more platforms
...
See http://aminet.net/package/dev/cross/oscar64
2023-07-27 13:00:07 +02:00
drmortalwombat
4c5a9c3b70
Fix over eager register promotion
2023-07-26 22:48:15 +02:00
drmortalwombat
2b9ae73795
Bump version number
2023-07-26 19:46:07 +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
adda4044ca
Complete value forwardign abs,x and abs,y
2023-07-24 22:23:37 +02:00
drmortalwombat
df28d2f83f
Value forwarding abs,x and abs,y
2023-07-24 22:19:35 +02:00
drmortalwombat
6cfa24b8ad
Fix over eager constant propagation
2023-07-24 19:03:34 +02:00
drmortalwombat
b8a993aa34
Bump version number
2023-07-23 18:23:11 +02:00
drmortalwombat
893aa7effa
Add late inlining step
2023-07-23 17:41:56 +02:00
drmortalwombat
33b7bee047
Fastcall for virtual functions
2023-07-23 13:51:24 +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
00ded29b35
Improve opp string library
2023-07-09 21:35:49 +02:00
drmortalwombat
66631c915b
Prefix and inc operator overload
2023-07-09 10:52:11 +02:00
drmortalwombat
0bab98ccc6
Optimize short signed table access
2023-07-08 22:20:42 +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
1e9e426758
Fix wrong enum type check
2023-07-03 16:44:47 +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
291ff890e6
Change heap layout for vector delete
2023-07-02 13:36:02 +02:00
drmortalwombat
7858c2135b
Add malloc/free as intrinsic
2023-07-02 12:00:53 +02:00
drmortalwombat
08adc7f1bd
Bump version number
2023-07-01 10:06:08 +02:00
drmortalwombat
c8fbc15c37
Copy propagation on struct return of functionr result
2023-07-01 09:27:03 +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
63ebf6aa7c
strlen optimization
2023-06-27 15:34:13 +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
04eeedb0b9
Object destruction on break, continue and return
2023-06-21 22:30:28 +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
b8478348ed
Fix nullptr reference cause assert in linux
2023-06-18 09:24: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