9c1b11d605
some WARN messages are now INFO
2023-12-28 14:20:47 +01:00
09c6cb4d6b
replace unwritten vars by consts. Improved const eval.
...
Fixed some slight bugs in library code
2023-12-28 05:17:15 +01:00
2b8f613a00
added %option ignore_unused to suppress warnings about unused vars and subs in that module/block.
...
Also improved error for invalid directive.
2023-12-26 23:37:59 +01:00
2eb137618e
refactor block options
2023-12-26 22:13:08 +01:00
4bb2b8ca9b
make isArray a computed property by simply checking the datatype
2023-12-26 19:58:08 +01:00
a8be94de6b
better error message when attempting to cast a float to integer
2023-12-15 22:28:06 +01:00
58400f53bc
optimize: flip if true/else blocks if the else block only contains a jump (inverting the condition)
2023-12-13 22:06:53 +01:00
08a079a96e
concerns with in
for strings
2023-12-11 21:15:48 +01:00
2668bf8519
fix void optimization issue
2023-12-09 21:48:22 +01:00
cce08d95db
unused subroutine warning only for main compilation module
2023-12-06 21:48:56 +01:00
6ebd4e821f
improved docs about subroutine scoping, fix possible optimizer crash for inlined sub
2023-12-04 23:23:52 +01:00
db52a9466c
fix weird compiler warning for while 1 {..}
2023-12-02 20:24:45 +01:00
1509de390e
various fixes
...
print_f() no longer prints a leading space.
Better error message if using float in for loop.
Fix crash when using non-const as when choice value.
VM print_f() more closely resembles the CBM version.
2023-12-02 18:23:54 +01:00
88a1aa4f3d
fix invalid optimization for integers (X/C1)*C2 , only ok for floats because of int rounding
2023-12-01 23:17:49 +01:00
8dfa0bc38c
fix a compiler crash in certain vardecl initialization expressions
2023-11-28 21:01:58 +01:00
44d232f52a
optimize for x in something downto 0
2023-11-26 02:24:18 +01:00
2764d235a9
optimizing for x in 0 to something
2023-11-25 21:37:27 +01:00
f21adaa3ef
fix compiler error caused by removal of string symbol in txt.print() optimization
2023-11-17 19:51:48 +01:00
7e3b8c2c59
fix compiler crash on certain subroutine inlining attempts.
2023-11-09 21:16:12 +01:00
3b0d7ea960
better const-evaluation of addressOf a memory mapped variable
2023-11-08 22:04:41 +01:00
efe4df92dc
optimize when with const value (remove other choices from code)
2023-11-06 00:08:07 +01:00
d9389afc66
fix compiler crash on certain constant expressions
2023-11-05 13:59:08 +01:00
b7a622c68e
fix alignment of uninitialized arrays in aligned blocks (make them initialized with zeros so they don't end up in the BSS section)
...
fix alignment of uninitialized arrays in aligned blocks (make them initialized with zeros so they don't end up in the BSS section)
2023-10-04 00:12:36 +02:00
880c0a5da8
allow taking address of array element
2023-09-18 04:37:41 +02:00
31c132c2eb
several optimizations and compiler error fix for @(&var) and @(&var+1)
2023-09-14 23:04:23 +02:00
6afdd4e6fd
preparing next version
2023-09-12 21:53:49 +02:00
c15c10a94e
fixed 'unroll CONSTANTEXPR' compiler errors
2023-09-05 01:03:35 +02:00
3e6d16a7a8
add error message for invalid step size in range expression
2023-08-11 02:35:52 +02:00
70ed2b4203
fix compilation of large bitshifts
2023-07-22 23:08:22 +02:00
70a78e74f6
get rid of binexpr splitter
2023-07-20 01:36:43 +02:00
d5707b7bf3
rebuilding floating point stack evaluation (using cpu stack)
2023-07-20 00:45:04 +02:00
6033a9e20c
remove optfloatx option
2023-07-15 22:24:22 +02:00
84925ab69c
remove eval stack options
2023-07-15 22:24:19 +02:00
b8284a147d
allow boolean when conditions, optimize into a regular if
2023-07-11 21:33:29 +02:00
ffb2027a19
repeat loop count now always rounded to integer
2023-07-06 23:58:02 +02:00
b4e94ae4dd
optimizer: avoid symbol name clash when inlining subroutine
2023-07-05 23:15:04 +02:00
07c606bfc9
optimizer: don't replace for loop with repeat loop (the loop variable might be used elsewhere!)
2023-07-05 21:16:17 +02:00
204f5591a9
todos
2023-07-03 21:57:32 +02:00
eae41de27d
improve errors generated for undefined symbols
2023-06-25 15:19:51 +02:00
a587482edf
optimize dangling else
2023-06-18 13:46:02 +02:00
c0b398e0ce
add various math.atan() routines
2023-06-17 00:43:33 +02:00
a521982576
fix subroutine inline problem with strings
2023-06-09 21:45:05 +02:00
39eda67867
Merge branch 'master' into split-arrays
...
# Conflicts:
# examples/test.p8
2023-05-28 13:28:43 +02:00
a99d38fdaa
Merge branch 'v8_maintenance'
...
# Conflicts:
# examples/test.p8
2023-05-28 13:26:05 +02:00
0eb2d437e2
fix compiler error and codegen fault on signed value bitwise operation
2023-05-28 13:13:11 +02:00
c94e292176
more split array stuff
2023-05-27 12:47:11 +02:00
b43223cb7a
added clamp() builtin function and floats.clampf()
2023-05-17 23:12:58 +02:00
92062d056d
divmod() now works on multiple data types including float.
...
divmodw() has been removed
2023-05-02 01:19:53 +02:00
06368ab0a1
sqrt() now works on multiple data types including float.
...
no need to use floats.sqrtf() anymore
2023-05-02 01:19:53 +02:00
38efe25c68
abs() now works on multiple data types including float.
...
no need to use floats.fabs() anymore
2023-05-02 01:19:53 +02:00