Commit Graph

8762 Commits

Author SHA1 Message Date
gingerBill baea6a1da8 Generate anonymous procedure literals 2023-07-25 13:31:22 +01:00
gingerBill ba48093666 Fill out type information data 2023-07-25 12:19:59 +01:00
gingerBill d4b87f1672 Continue filling in the global type info data 2023-07-25 11:46:53 +01:00
gingerBill e4006eb583 Update tilde 2023-07-25 01:11:57 +01:00
gingerBill b934e4b564 Implement basic runtime type information
This allows for `runtime.println_any` to work!
2023-07-25 00:33:43 +01:00
gingerBill 28c97a9467 Begin work on setting up type information table 2023-07-24 17:12:23 +01:00
gingerBill 28fca190ee Fix transmute(uintptr)ptr etc 2023-07-24 16:09:01 +01:00
gingerBill 78116e0ea2 Implement for in statements for array-like values 2023-07-24 15:46:54 +01:00
gingerBill 5a50afa1fd Implement for in interval statements 2023-07-24 15:28:51 +01:00
gingerBill cf77a0e2b4 Update Tilde to fix reg alloc bug 2023-07-24 15:18:20 +01:00
gingerBill e2593a6883 Update Tilde for testing reg spill stuff 2023-07-24 14:01:10 +01:00
gingerBill 00a44d1ddb Mock out type info initialize stuff 2023-07-24 13:06:01 +01:00
gingerBill d8445fd9df Multithread tilde backend 2023-07-24 12:53:16 +01:00
gingerBill 304db907f5 Generate object name for them module 2023-07-24 12:19:22 +01:00
gingerBill b09cdc0f25 Hook up Tilde to the linker code 2023-07-24 12:01:23 +01:00
gingerBill bd81c6f5b4 Move linker code into separate file 2023-07-24 11:53:18 +01:00
gingerBill 4051dd9522 Update Tilde to get basic "Hello World" working with runtime.print_string 2023-07-24 11:30:07 +01:00
gingerBill 360cb9eb9a Add tb.lib to build.bat 2023-07-24 10:28:56 +01:00
gingerBill 241a939c29 Update Tilde 2023-07-24 10:27:55 +01:00
gingerBill 2f9c5d2d0b Minor clean up to builtin procs 2023-07-23 22:07:21 +01:00
gingerBill 99c812b02d Begin working on a minimum build 2023-07-23 21:44:50 +01:00
gingerBill d82c2ce50f Update Tilde; Add min and max 2023-07-22 12:21:29 +01:00
gingerBill 6c12156b1a Simplify procedure argument handling 2023-07-22 11:16:29 +01:00
gingerBill eec3b3009f Begin work on builtin procedures 2023-07-22 10:16:28 +01:00
gingerBill 4654b41c3e Implement call expressions 2023-07-22 09:06:44 +01:00
gingerBill b09ea17f0e Support multiple return values for non-odin calling conventions 2023-07-22 08:48:13 +01:00
gingerBill 99ebfc337e Support multiple return values 2023-07-22 08:33:30 +01:00
gingerBill e5f9458905 Update Tilde to get procedure passing rules 2023-07-22 07:56:13 +01:00
gingerBill ec0a9a5f8a Copy lvalues on multi-valued assignments to allow for a, b = b, a on large types (minor bodge) 2023-07-21 13:05:39 +01:00
gingerBill 47b924990f Count extra stuff 2023-07-20 02:04:59 +01:00
gingerBill 215bebb01a Remove dead code 2023-07-20 02:00:20 +01:00
gingerBill 9fffa19c51 Mock out more global stuff 2023-07-20 01:58:46 +01:00
gingerBill b54f3d4ee9 Mock out more global value stuff 2023-07-20 01:54:36 +01:00
gingerBill bcdcad5847 Add global string constants 2023-07-20 01:24:19 +01:00
gingerBill 737b8e42e4 Global constants for arrays 2023-07-20 00:48:52 +01:00
gingerBill c61e7c05da Begin working on global constants 2023-07-20 00:34:24 +01:00
gingerBill a919828003 Add complex and quaternion global stuff 2023-07-19 23:27:06 +01:00
gingerBill 0bd33882b6 Basic constant compound literal support 2023-07-19 21:43:42 +01:00
gingerBill e0e55a649c Rename tilde_backend* files to tilde* 2023-07-19 20:50:15 +01:00
gingerBill f32d71eca0 Mock out any type switch statement 2023-07-19 20:44:37 +01:00
gingerBill 5fb98609cd Implement type switch statement for unions 2023-07-19 18:03:42 +01:00
gingerBill 19633ece80 Simplification of the ValueDecl code 2023-07-19 15:51:56 +01:00
gingerBill fb04103352 Add defer statements; add implicit context pointer to context stack 2023-07-19 15:37:33 +01:00
gingerBill 9abf43b0d2 Mock out defer handling logic (before handling defer statements) 2023-07-19 15:24:07 +01:00
gingerBill 7f97274ecc Wrap Tilde's goto pseudo-instruction 2023-07-19 14:31:32 +01:00
gingerBill b2edab193f Support branch statements break/continue/fallthrough 2023-07-19 14:19:01 +01:00
gingerBill 184563bbe1 Add trivial switch statement check to use a jump table 2023-07-19 13:58:56 +01:00
gingerBill 73f25ed182 Add basic switch statement
Implement as naive if-else chain
2023-07-19 13:37:56 +01:00
gingerBill 533f6a552c Add for and += assignments 2023-07-19 13:15:13 +01:00
gingerBill 32ac319525 Implement if statements 2023-07-19 12:55:44 +01:00