Irmen de Jong 
							
						 
					 
					
						
						
							
						
						4e61e25c02 
					 
					
						
						
							
							Merge branch 'master' into structs  
						
						... 
						
						
						
						# Conflicts:
#	compiler/test/TestTypecasts.kt 
						
						
					 
					
						2025-05-27 23:52:59 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						368387e1a7 
					 
					
						
						
							
							allow floats to be (explicitly) cast to integers  
						
						
						
						
					 
					
						2025-05-26 21:39:48 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						db6c887795 
					 
					
						
						
							
							Merge branch 'master' into structs  
						
						... 
						
						
						
						# Conflicts:
#	compiler/test/ast/TestVariousCompilerAst.kt 
						
						
					 
					
						2025-05-21 00:27:45 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						cf7bea0985 
					 
					
						
						
							
							cleanup RTS insertion and ast postprocessing before assembly generation  
						
						
						
						
					 
					
						2025-05-21 00:19:50 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						e98e6f70ac 
					 
					
						
						
							
							Merge branch 'master' into structs  
						
						... 
						
						
						
						# Conflicts:
#	compiler/src/prog8/compiler/astprocessing/AstChecker.kt
#	compiler/test/TestTypecasts.kt
#	docs/source/todo.rst
#	examples/test.p8
#	gradle.properties 
						
						
					 
					
						2025-05-07 23:26:21 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						53e442d509 
					 
					
						
						
							
							fix regression in 11.3.1: allow bitwise operation between different types as long as they're the same size.  
						
						
						
						
					 
					
						2025-05-07 23:06:45 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						134352ed7c 
					 
					
						
						
							
							Merge branch 'master' into structs  
						
						... 
						
						
						
						# Conflicts:
#	compiler/test/TestTypecasts.kt
#	docs/source/todo.rst
#	examples/test.p8
#	virtualmachine/src/prog8/vm/VmProgramLoader.kt 
						
						
					 
					
						2025-05-07 22:32:41 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						f7cbfdff06 
					 
					
						
						
							
							skip this test for now  
						
						
						
						
					 
					
						2025-05-07 21:14:52 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						b28ee0819f 
					 
					
						
						
							
							revert behavior change of @dirty variables, instead document the initialization behavior correctly in the docs  
						
						... 
						
						
						
						they get zeroed at program startup (like other uninitialized BSS variables), just not on entry in the subroutine. 
						
						
					 
					
						2025-05-07 21:07:12 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						af920d1427 
					 
					
						
						
							
							pointer arithmetic for '-', fixed '+'  
						
						
						
						
					 
					
						2025-05-05 21:06:49 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						b89bbb9281 
					 
					
						
						
							
							allow pointers in subroutines params and return values  
						
						
						
						
					 
					
						2025-05-02 00:41:42 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						40952a788a 
					 
					
						
						
							
							PtSub: params and returns now as children (in PtSignature node) for easier Ast walking  
						
						... 
						
						
						
						PtPointerDeref: same but for its start identifier 
						
						
					 
					
						2025-05-02 00:41:42 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						63a410a6df 
					 
					
						
						
							
							implicit cast to bool for numeric or pointers as condition arguments (to if, while, until)  
						
						
						
						
					 
					
						2025-05-02 00:41:42 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						e328520588 
					 
					
						
						
							
							initial struct and typed pointer support  
						
						
						
						
					 
					
						2025-05-02 00:41:40 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						3770a4fe0c 
					 
					
						
						
							
							easier datatype notation by just using  the type objects directly  
						
						
						
						
					 
					
						2025-03-18 23:33:04 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						7668a3c660 
					 
					
						
						
							
							use kotest tempdir instead of hardcoded output directory  
						
						
						
						
					 
					
						2025-03-14 01:18:33 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						d06e9ea7f6 
					 
					
						
						
							
							allow comparisons against constant values with different type  
						
						
						
						
					 
					
						2025-02-19 20:19:20 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						a6f9ed07e7 
					 
					
						
						
							
							6502 codegen for multi-assigns  
						
						
						
						
					 
					
						2025-01-09 00:38:47 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						8f6b5676d7 
					 
					
						
						
							
							working on codegen for multi-value returns  
						
						
						
						
					 
					
						2025-01-07 20:35:49 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						1a1ab0dac6 
					 
					
						
						
							
							changed the data type system to composite types  
						
						
						
						
					 
					
						2024-12-05 21:48:51 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						50c3d809dc 
					 
					
						
						
							
							fix type casting issues and unary ^ operator  
						
						... 
						
						
						
						signed numbers are no longer implicitly converted to unsigned
proper range check on bankof() 
						
						
					 
					
						2024-12-01 17:43:53 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						ae0cadb383 
					 
					
						
						
							
							added bnk() builtin function  
						
						
						
						
					 
					
						2024-11-20 23:23:21 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						154f9b300f 
					 
					
						
						
							
							fix crash:  byte c = if a < b -1 else 1   "both values should be the same type"  
						
						
						
						
					 
					
						2024-11-19 23:46:25 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						ed09dd4e9e 
					 
					
						
						
							
							improve automatic type conversions for return values,  fixes   #155  
						
						
						
						
					 
					
						2024-10-09 20:04:05 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						5cda750e5e 
					 
					
						
						
							
							improve error message for undefined symbol in when choices  
						
						
						
						
					 
					
						2024-09-18 23:00:03 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						edc5a5a94f 
					 
					
						
						
							
							improve data driven unit tests to use kotest withData()  
						
						
						
						
					 
					
						2024-09-08 16:55:08 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						c9a4235669 
					 
					
						
						
							
							update to kotlin 2.0, fix several code style issues  
						
						
						
						
					 
					
						2024-06-04 01:00:46 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						5d7ddebcad 
					 
					
						
						
							
							fix bool to uword cast in 6502 codegen  
						
						
						
						
					 
					
						2024-04-11 00:34:53 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						80f39e8097 
					 
					
						
						
							
							Merge branch 'booleans'  
						
						... 
						
						
						
						# Conflicts:
#	compiler/res/prog8lib/cx16/monogfx.p8
#	compiler/res/prog8lib/virtual/monogfx.p8
#	compiler/src/prog8/compiler/astprocessing/BoolRemover.kt
#	compiler/test/TestTypecasts.kt
#	docs/source/todo.rst
#	examples/cx16/highresbitmap.p8
#	examples/test.p8
#	httpCompilerService/src/prog8/http/TestHttp.kt 
						
						
					 
					
						2024-03-11 01:00:48 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						2a8b65e29c 
					 
					
						
						
							
							test str to uword change in function params  
						
						
						
						
					 
					
						2024-03-10 23:48:58 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						dba0846866 
					 
					
						
						
							
							optimize word >, word <=  
						
						
						
						
					 
					
						2024-03-02 23:19:39 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						f40b7b62bb 
					 
					
						
						
							
							updated unit tests and some basic changes for them  
						
						
						
						
					 
					
						2024-03-02 23:19:20 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						1816bda7ea 
					 
					
						
						
							
							extra check  
						
						
						
						
					 
					
						2024-01-26 00:12:31 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						d4a2031c07 
					 
					
						
						
							
							fix certain assignment data type mismatch crash  
						
						
						
						
					 
					
						2024-01-25 21:14:20 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						d85c347a6c 
					 
					
						
						
							
							optimize /256 more, and fixed a unsigned byte word cast error  
						
						
						
						
					 
					
						2024-01-07 02:34:05 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						56ba24962c 
					 
					
						
						
							
							fixed 'not not x' optimization to just 'x'  
						
						
						
						
					 
					
						2024-01-04 15:02:21 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						8f18b5b8a7 
					 
					
						
						
							
							keep distinction between logical and bitwise boolean operators  
						
						
						
						
					 
					
						2023-12-30 01:08:42 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						e35cfd4971 
					 
					
						
						
							
							get rid of the redundant 'f' suffix of several funtions in floats module (breaking change!)  
						
						... 
						
						
						
						Unfortunately a few routines (minf, maxf, clampf) remain unchanged, because removing the 'f' would make them clash with a builtin function.
floats.rndf -> floats.rnd
floats.parse_f -> floats.parse
floats.rndseedf -> floats.rndseed
floats.print_f -> floats.print
floats.str_f -> floats.tostr 
						
						
					 
					
						2023-12-29 03:12:44 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						09c6cb4d6b 
					 
					
						
						
							
							replace unwritten vars by consts. Improved const eval.  
						
						... 
						
						
						
						Fixed some slight bugs in library code 
						
						
					 
					
						2023-12-28 05:17:15 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						ffdc658dc8 
					 
					
						
						
							
							type error tweaks  
						
						
						
						
					 
					
						2023-12-26 18:49:01 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						0d44492086 
					 
					
						
						
							
							push,pushw,pop and popw  are no longer built-in functions but regular routines in sys  
						
						
						
						
					 
					
						2023-12-26 14:47:31 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						a8be94de6b 
					 
					
						
						
							
							better error message when attempting to cast a float to integer  
						
						
						
						
					 
					
						2023-12-15 22:28:06 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						b09e0a05bf 
					 
					
						
						
							
							some tweaks to errors about long integer literals  
						
						
						
						
					 
					
						2023-12-03 02:45:26 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						c609e982fe 
					 
					
						
						
							
							allow const expression intermediate values to be 32 bits integers to avoid needless overflow errors.  
						
						
						
						
					 
					
						2023-12-03 01:48:12 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						893b383bdf 
					 
					
						
						
							
							fix signed byte to word sign extension in assignment  
						
						
						
						
					 
					
						2023-10-17 03:08:37 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						70a78e74f6 
					 
					
						
						
							
							get rid of binexpr splitter  
						
						
						
						
					 
					
						2023-07-20 01:36:43 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						5da3abe6b4 
					 
					
						
						
							
							fix silent typecast on return statements that could lose data (word->byte)  
						
						
						
						
					 
					
						2023-06-17 14:44:36 +02:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						e779a07bce 
					 
					
						
						
							
							allow when with byte 1,2,3 for word variables without having to cast the values to word explicitly  
						
						
						
						
					 
					
						2023-03-09 22:15:56 +01:00 
						 
				 
			
				
					
						
							
							
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						6aabbffc62 
					 
					
						
						
							
							some cleanups  
						
						
						
						
					 
					
						2023-02-09 02:34:18 +01:00