Commit Graph

374 Commits

Author SHA1 Message Date
Christoffer Lerno
b66ea1b4cd Updating CALLOCS 2021-08-31 22:09:56 +02:00
Christoffer Lerno
867924f706 MSVC compatibility 2021-08-31 21:16:27 +02:00
Christoffer Lerno
19c2f86f37 Fix issue with passing function pointers. 2021-08-31 19:10:00 +02:00
Christoffer Lerno
bb9e84d329 Make errors usable from other units. Order subarray elements correctly. Correct subarray -> pointer cast. Prevent unwrapping of catch in switch. 2021-08-31 18:12:30 +02:00
Christoffer Lerno
2ff5acc2a1 Allow constant strings as default values. 2021-08-31 13:03:12 +02:00
Christoffer Lerno
69d9775876 Removed define for declaring ct vars and replaced it with var for declarations. Updated error messages. Added $defined. 2021-08-31 12:44:18 +02:00
Christoffer Lerno
6e386538dc Fixed bool->bool casts. Fixed ternary with boolean "legs". Removed some superfluous code. 2021-08-28 13:39:15 +02:00
Christoffer Lerno
8731634f4d Unified constants (enum, error types, typeid). Removed EXPR_MEMBER_ACCESS. Added if-catch-switch. switch-case can handle non constant values. Inlining removed on O0. Added subarray comparison allowing string cases. 2021-08-27 19:13:32 +02:00
Christoffer Lerno
1751e7ece5 Remove old try/catch. Remove incorrect flattening. Basic asm. Start work on if-catch-switch. 2021-08-24 12:41:20 +02:00
Christoffer Lerno
f7803fd192 Add @naked attribute 2021-08-22 23:54:13 +02:00
Christoffer Lerno
fdcc189f41 Complete missing functionality with $nameof / $extnameof / $qnameof 2021-08-22 18:44:26 +02:00
Christoffer Lerno
7c7ee58b6b Fix in byte output for globals. 2021-08-21 22:16:35 +02:00
Christoffer Lerno
f198e6c53a Added multi line strings raw strings. This also somewhat improves error reporting on strings. 2021-08-21 21:50:41 +02:00
Christoffer Lerno
64f20da080 Better handling of void/void*, unified local/global var analysis. Native base64 / hex data array (needs more checks) 2021-08-20 10:29:17 +02:00
Christoffer Lerno
232632b74e Add section with (incomplete) checking for mach-o 2021-08-18 22:28:43 +02:00
Christoffer Lerno
b4be829c71 Assert a try will unwrap. #271 2021-08-18 18:22:05 +02:00
Christoffer Lerno
f180a0d44a Change anyerror { i64, i64 } -> i64. Cleaned up platform data and max tls / vector align. Initial work on bitstruct (just parsing). Updated try / catch semantics. 2021-08-18 17:31:09 +02:00
pitust
95836e98a2 Create {x86,x64}-elf targets, and make all targets more consistent (#273)
* Add triples for x86 and x64 targets
2021-08-16 18:38:56 +02:00
Christoffer Lerno
bc4ed2b213 Use assert functions on various platforms. 2021-08-16 16:43:53 +02:00
Christoffer Lerno
446396da4c Remove soft float accidentally turned on. 2021-08-16 00:25:41 +02:00
Christoffer Lerno
672b03df23 Copy scratch buffer settings. 2021-08-16 00:16:39 +02:00
Christoffer Lerno
bc087759c8 Add soft-float, no-sse, no-avx, no-mmx for x64 targets. 2021-08-16 00:00:05 +02:00
Christoffer Lerno
29a41560de Implement use of strlit array access. 2021-08-15 22:56:08 +02:00
Christoffer Lerno
0a53c0c3a5 Bug where constant "kind" was not propagated through constant folding. 2021-08-11 20:29:17 +02:00
Christoffer Lerno
3a1f417ea5 Updated try tests. 2021-08-11 19:17:45 +02:00
Christoffer Lerno
da76777ee4 Fixes to aarch64 float struct return. Missing byval and align on calls. This *breaks* try-catch. 2021-08-11 19:17:45 +02:00
Christoffer Lerno
afeb555e2f Improved support for vectors that allows correct usage in C ABI.
To free keywords, half -> float16, i128 -> int128, u128 -> uint128, quad -> float128.
2021-08-10 22:45:53 +02:00
Christoffer Lerno
991f24d06a Added chained unwrap test and fixed the same. 2021-08-03 19:57:44 +02:00
Christoffer Lerno
c12cba67a8 Fix of try(...) { ... } and failable state on function call. 2021-08-03 19:57:44 +02:00
Christoffer Lerno
490dd65664 Add attributes to call site. @inline, @noinline to calls #250 2021-08-03 12:02:36 +02:00
Christoffer Lerno
78425ff5f2 Initial work on foreach overloading. Fixes a bug in indirect return values. Unifies call analysis. 2021-08-02 22:55:11 +02:00
Christoffer Lerno
2246b641b1 Fix stack overwrite. 2021-07-30 00:18:30 +02:00
Christoffer Lerno
ec612eea67 Added some explicit casts. Added sret at call site. 2021-07-29 16:42:20 +02:00
Christoffer Lerno
efe4f8c745 Coerce lowering for the C ABI updated. Updated aarch64 fixes. 2021-07-29 03:16:07 +02:00
Christoffer Lerno
d26986afeb Handle possible unsigned char by default. 2021-07-28 17:27:26 +02:00
Christoffer Lerno
ce6e59483f Unified function and macro call analysis. 2021-07-28 17:20:19 +02:00
Christoffer Lerno
9f42ddb68d Fix foreach body copy. Moved deref / addr into special functions. Cleaned up access. Remove .sizeof .alignof .qnameof .nameof, create $qnameof $nameof 2021-07-26 09:30:35 +02:00
C34A
2815a6d02e fixed stat() call in file_add_wildcard_files() 2021-07-24 22:41:40 +02:00
Christoffer Lerno
c4627eb9d2 Removed "deprecated" as attribute. 2021-07-24 15:56:38 +02:00
Christoffer Lerno
b8cbeaff06 Recursive entry into sub paths fixed. 2021-07-24 13:56:02 +02:00
Christoffer Lerno
f14343f052 Fix :( 2021-07-22 19:01:17 +02:00
Christoffer Lerno
c4aa366592 Use heuristic to determine the type to convert to for compile time types. Added parsing for generic 2021-07-22 18:45:39 +02:00
Christoffer Lerno
d5f5d59a37 Updated readme. 2021-07-21 19:33:08 +02:00
Christoffer Lerno
198e3c369c Extension methods added. Some initial work on virtual. 2021-07-21 19:28:02 +02:00
Christoffer Lerno
46e39f883c Assigning to $Type now works. 2021-07-20 23:36:53 +02:00
Christoffer Lerno
c149f14a1f Added iro grammar. 2021-07-20 15:01:04 +02:00
Christoffer Lerno
f86dea12cc Updated formatting in README 2021-07-19 21:45:29 +02:00
Christoffer Lerno
5c0470023e Updated info about vkQuake. 2021-07-19 21:43:31 +02:00
Christoffer Lerno
8568b9b079 Fix right -> left associativity for assignment. 2021-07-19 17:31:13 +02:00
Christoffer Lerno
28a0dec343 Fixes: Extname works on global variables. Bug with boolean in ternary in some cases. Global declarations would not parse attributes. 2021-07-19 17:10:13 +02:00