1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-06-12 22:29:33 +00:00
Commit Graph

174 Commits

Author SHA1 Message Date
Karol Stasiak
1e4a193741 Optimization hints 2021-03-15 00:44:14 +01:00
Karol Stasiak
196ad6542f Allow refering to labels from other functions in assembly (fixes #101) 2021-02-24 02:32:00 +01:00
Karol Stasiak
521b73d0d3 Array fields for structs and unions (see #87) 2021-02-22 23:23:00 +01:00
Karol Stasiak
25adb05229 Fix typeof 2021-02-18 01:29:27 +01:00
Karol Stasiak
d20cc677bb The typeof builtin function 2021-02-18 00:38:30 +01:00
Karol Stasiak
32b98750a9 Warn about non-volatile spinlocks (see #95) 2021-02-03 09:46:09 +01:00
Karol Stasiak
c1959b356f Make all constants referring to segments match their equivalents from the platform definition (see #87) 2021-01-13 19:55:11 +01:00
Karol Stasiak
499e650752 Define and document more magic suffixes and constants (see #87) 2021-01-13 19:35:11 +01:00
Karol Stasiak
b2d2c3e005 Don't emit labels that are not necessary; fix the __heap_start symbol. 2020-11-18 23:08:45 +01:00
Karol Stasiak
dc087ed887 Better error messages for arays without sizes 2020-11-18 23:08:09 +01:00
Karol Stasiak
97c7d0ffed Basic groundwork for optimization hint support 2020-11-18 22:37:58 +01:00
Karol Stasiak
385b2fd40b Fix function pointers (fixes #86) 2020-11-18 09:34:02 +01:00
Karol Stasiak
fc7643c416 Interrupt handler pointer types 2020-11-11 00:28:21 +01:00
Karol Stasiak
c0eae29a41 Minor compilation speed optimization 2020-09-21 00:15:16 +02:00
Karol Stasiak
615a0d7dc1 Interrupt functions in assembly should not have prologue (fixes #62) 2020-09-09 01:46:34 +02:00
Karol Stasiak
5e46e8ade9 Fix alignment of substructures 2020-09-02 00:44:24 +02:00
Karol Stasiak
e09db3d132 Local labels in assembly 2020-09-01 22:00:07 +02:00
Karol Stasiak
49816d18fe Fix volatile 2020-08-14 22:28:31 +02:00
Karol Stasiak
7c4fb50808 Hardcode some more typo hints for things from other programming languages 2020-07-31 17:07:25 +02:00
Karol Stasiak
2905e99521 Support local labels in macros for all instructions 2020-07-31 13:29:48 +02:00
Karol Stasiak
d7f2b0688f Improved error reporting for constants used before definition 2020-07-31 01:53:58 +02:00
Karol Stasiak
d5367cc1fe for loops over arrays 2020-07-24 19:12:19 +02:00
Karol Stasiak
000aede8db Do not remove constants used only as array sizes (#51) 2020-07-19 23:34:14 +02:00
Karol Stasiak
a2c49a1f89 Add manual type alignment. 6502: Optimize multiplications by constants. 2020-07-18 01:15:33 +02:00
Karol Stasiak
31a8504195 Fix raw views of typed pointers 2020-07-18 01:11:20 +02:00
Karol Stasiak
a22571f60b 6809: tons of improvements:
* stack variables
* large comparisons
* pointer optimizations
* fixed constant evaluation
2020-07-09 01:50:18 +02:00
Karol Stasiak
b0577270d5 6809: various assembly fixes 2020-06-09 21:43:04 +02:00
Karol Stasiak
655edc35ff Allow sizeof in assembly 2020-05-01 15:18:48 +02:00
Karol Stasiak
78346af2ef 8080: Some minor improvements 2020-04-06 11:35:14 +02:00
Karol Stasiak
63ff28e94e Changes to macros and parameter list syntax:
* non-asm macros can now take `const` and `call` parameters
* register parameters to asm functions and macros can be given names if annotated explicitly
2020-03-30 19:23:48 +02:00
Karol Stasiak
dfe33c9b7a 6502: Pointers should have priority when allocating to the zeropage 2020-03-26 18:52:46 +01:00
Karol Stasiak
59882cf765 6502: Fix zp allocation 2020-03-26 01:38:54 +01:00
Karol Stasiak
2a3c9f04be Fix >32bit constants 2020-03-26 01:36:41 +01:00
Karol Stasiak
5215400cb2 Fix lookup 2020-03-26 01:36:15 +01:00
Karol Stasiak
3187ed155e Add signed16 and unsigned16 types 2020-03-25 23:53:26 +01:00
Karol Stasiak
d478f3504f Const-pure functions 2020-03-19 23:53:16 +01:00
Karol Stasiak
769f31717d 6502: Detect pointer variables that have to be in the zeropage more accurately 2020-03-19 20:00:28 +01:00
Karol Stasiak
85030d3147 Added constant-only functions min, max, if. Improved handling of constant-only functions. 2020-03-19 19:43:24 +01:00
Karol Stasiak
2eb8ef53ca Put almost all warnings behind internal flags 2020-03-17 21:08:43 +01:00
Karol Stasiak
a527eea0fc Add more binary operators for constants in assembly 2020-03-17 02:03:44 +01:00
Karol Stasiak
83b85ef0fc Support breakpoints in the label file (#44) 2020-03-16 00:01:04 +01:00
Karol Stasiak
f57ecc9800 Improve and optimize memset (see #47) 2020-03-15 01:06:09 +01:00
Karol Stasiak
24870ae62e Detect obviously overflowing constants 2020-03-15 01:01:08 +01:00
Karol Stasiak
8b6e89f9a4 Various improvements for macros (fixes #39 and pertains to #40) 2020-02-02 23:25:06 +01:00
Karol Stasiak
df1d5421be Do not allocate variables on top of fixed-address vairables and arrays (fixes #26) 2020-01-03 23:09:20 +01:00
Karol Stasiak
6e36166af2 Never remove or inline volatile variables (fixes #27) 2020-01-03 21:28:10 +01:00
Karol Stasiak
b2dd4eadd4 Start work on supporting member arrays 2019-12-30 11:50:18 +01:00
Karol Stasiak
59784ad5f1 HuC6280: Full assembly support 2019-11-24 01:30:30 +01:00
Karol Stasiak
3a0bc0f15e Add unsigned types 2019-11-03 23:33:41 +01:00
Karol Stasiak
ffe79a214d Add nullchar_src, NULLCHAR_SCR and NULLCHAR_SAME (relates to #17) 2019-10-31 12:20:42 +01:00