Christoffer Lerno
505543e9b4
Remove import of std::array
2023-02-05 20:59:42 +01:00
Christoffer Lerno
dce171670f
Use printn rather than println. Add string methods for copying.
2023-02-04 19:48:42 +01:00
Christoffer Lerno
6407eb47a4
Remove of @extname in stdlib.
2023-02-02 21:53:37 +01:00
Christoffer Lerno
dc16f65c8e
Change printfln to printfn. Make LLVM 15 tests default.
2023-01-11 18:00:08 +01:00
Christoffer Lerno
43dc2d650c
Use "String" consistently for "char[]" ( #694 )
...
Use "String" consistently for "char[]". Fix win32 return value.
2023-01-07 22:50:33 +01:00
Christoffer Lerno
da1a45f718
Remove iptrdiff and uptrdiff. Bump version to 0.3.100
2022-11-17 23:44:54 +01:00
Christoffer Lerno
6d2ab0c985
Fix ordering of @builtin. malloc <-> alloc, malloc, calloc, realloc, free builtins.
2022-08-04 01:49:36 +02:00
Christoffer Lerno
cc8884d3d1
Allocators separated into aligned and non aligned operations.
2022-08-03 20:53:37 +02:00
Christoffer Lerno
a7e4dda360
Added examples.
2022-07-26 02:10:18 +02:00
Christoffer Lerno
cdff5c3e26
Dev ( #500 )
...
Single code path for kind/inner/len/sizeof on type and typeid. Fix of #493 . Bump to 0.2.24. Remove ´func´ deprecated keyword. Unify builtin access. Enum and fault name reflection.
2022-07-26 00:56:59 +02:00
Christoffer Lerno
d403912ec7
Add linker and linked dir arguments to build files.
2022-07-08 14:52:58 +02:00
Christoffer Lerno
9691d50a6f
@ is now part of the name of an attribute or a macro. Macros without '@' must be function-like.
2022-05-08 22:16:33 +02:00
Christoffer Lerno
22ee082d00
0.2.1 SysV ABI fix for passing certain things by struct. Fix implicitly converting to float in the case of myfloat *= -1. Prefer inferred constant over global. Allow locals to shadow global variables.
2022-04-27 16:43:25 +02:00
Christoffer Lerno
890c4bc435
0.2.0. Build system improvements. Target changes x64-windows -> windows-x64, x64-darwin -> macos-x64. Improved mac support. LLD linking for Mac, Windows, Linux. Cross linking for Mac, Windows. Clean up string use. Fix of debug handling of multiple compilation units per module. MSVC CI
2022-04-26 13:20:33 +02:00
Christoffer Lerno
b99db4be24
Allocators. Rename of "optenum" to fault. Memcpy and memset added. Cleanup of declaration use.
2022-04-09 20:07:59 +02:00
Christoffer Lerno
8743223dd6
Allocators. Rename of "optenum" to fault. Memcpy and memset added. Cleanup of declaration use.
2022-04-09 20:07:59 +02:00
Christoffer Lerno
e5bcb74822
Added levenshtein.c3 to working files. Fixes to reverse indexing. Added min/max functions. Tentatively removed "opaque"
2022-01-26 17:40:01 +01:00
Christoffer Lerno
1e56948a22
Prepare removing "func"
2022-01-18 14:15:44 +01:00
Christoffer Lerno
974cd0acc5
Rollback global.
2021-11-17 10:37:23 +01:00
Christoffer Lerno
b52b42d4da
Complete transition to fn. Introduce global/threadlocal
2021-11-16 17:46:44 +01:00
Christoffer Lerno
fb9be722bc
Fix issue with default macro arguments. Test of ?? instead of else. Added libc
2021-09-20 22:25:01 +02:00
Christoffer Lerno
e4c7dde30b
Fix of shadowing bug. Allow pointer and subarrays to be constant initialized. Compile time values may now pass around anything considered compile time constant. It's possible to index into an initializer list at compile time. (Some work still remains on this)
2021-09-18 01:13:42 +02:00
Christoffer Lerno
b7e423adc2
Update .len for subarray to not require ()
2021-09-10 19:44:27 +02:00
Christoffer Lerno
12ffeeaad7
Fixes to the cname patch.
2021-06-30 22:41:34 +02:00
Christoffer Lerno
0605a8c500
Introduce "private" keyword and private modules / private import.
2021-05-30 16:30:16 +02:00
Christoffer Lerno
90c988cc1f
Fix issue with unifying void returns.
2021-05-20 00:12:58 +02:00
Christoffer Lerno
fc31c15914
Updated cast syntax in code samples.
2021-05-18 17:23:27 +02:00
Christoffer Lerno
1d50beb330
Work on constant string and inferred array sizes.
2021-02-03 23:01:37 +01:00
Christoffer Lerno
26d25e3f74
Recursive references between globals are now correctly handled.
2021-01-27 00:14:16 +01:00
Christoffer Lerno
3a24fbfa6d
Moved examples around. Updated (and corrected) const initialization. Removed "in" keyword. Added "member" attribute domain. Many fixes in struct padding and alignment and tests. Fixed extern global.
2021-01-24 00:55:09 +01:00
Christoffer Lerno
564c93700e
Fixed bug that would intermittently arise from multiple contexts having the same pointer (should preferably be fixed in a different way later). Free all the arenas before codegen. Change "next" to "nextcase". Allow missing function parameters. Add "inline" structs.
2021-01-03 00:15:51 +01:00
Christoffer Lerno
4222f2731e
&&temp operator. Macro evaluation.
2020-10-16 18:11:30 +02:00
Christoffer Lerno
77ccfc1f7c
Added CT_SWITCH parsing in top level. Nil changed to null. Parsing more in line with grammar. Parse type as expressions. Zero init by default for locals. Corrected bool/fp conversion. Add memcpy pass to fix issue with value load/stores.
2020-09-21 11:38:12 +02:00
Christoffer Lerno
fb937156fe
Work on debug + fix of failable bug.
2020-09-02 10:18:30 +02:00
Christoffer Lerno
9709cb61a4
Struct constants stored in globals.
2020-08-09 19:01:46 +02:00
Christoffer Lerno
d070a5e7ff
Allow "if (...) else if (...)". Disallow 'if (...) doSomething()' unless the "doSomething" is in the same line.
2020-08-03 17:33:07 +02:00
Christoffer Lerno
b45c866071
Adding $switch and rearranging parser somewhat. Removing the need for "store" of context.
2020-08-02 13:53:17 +02:00
Christoffer Lerno
31d2c15dba
Adding $unreachable
2020-08-02 00:06:43 +02:00
Christoffer Lerno
009ccfd730
Adding assert.
2020-08-01 20:53:47 +02:00
Christoffer Lerno
21357c4fc1
Fix crash when having return value errors. Updated docs. Find and load builtin.c3 locate std lib.
2020-07-31 16:29:52 +02:00
Christoffer Lerno
380c1c8ab4
Support for $assert. Also change order of checking global declarations from parsing to semantic analysis.
2020-07-30 17:44:41 +02:00
Christoffer Lerno
ce68bda86c
Corrected ptr->bool conversion. Avoid checking function body if function is invalid. Switch defer test cases. Slices with test cases.
2020-07-28 17:37:48 +02:00
Christoffer Lerno
90ab4f07b9
Corrected ptr->bool conversion. Avoid checking function body if function is invalid. Switch defer test cases.
2020-07-28 17:37:48 +02:00
Christoffer Lerno
c839eb50c8
Simplified defer and now also allow nested defers.
2020-07-27 11:40:45 +02:00
Christoffer Lerno
a533cbb1a7
Fixes to tester for multiple file support.
2020-07-27 11:40:45 +02:00
Christoffer Lerno
34c7df9ee1
Fixed multi line error reporting for tokens. Handle infinite empty for loops. Changed cast syntax to "cast(foo as Foo)". Completed enum casts. Added more tests.
2020-07-25 21:54:32 +02:00
Christoffer Lerno
f45d6ef84b
Fix, separate out the function pass from the decl pass. Diagnose non-visible symbols as not visible rather than missing. Fix crash when module identifier is incorrect. !! operator added. New character literal parsing. Added simple test framework.
2020-07-21 23:43:28 +02:00
Christoffer Lerno
b4c661eaad
Pre lexing and mmap allocation together with exact exits.
2020-07-15 15:42:54 +02:00
Christoffer Lerno
dc86c21210
New failable based error handling. Labelled break/continue/next.
2020-07-09 13:07:08 +02:00
Christoffer Lerno
a6a4136685
Updated examples and grammar for big error change.
2020-06-17 18:19:00 +02:00