Christoffer Lerno
957ce320ae
Cleanup and size reduction of Ast/Expr.
2023-08-18 01:57:56 +02:00
Christoffer Lerno
6d870fbef0
Fix for arithmetic promotion of aliases. Some work towards $exec scripting.
2023-08-10 17:14:29 +02:00
Christoffer Lerno
01a89e2145
Fix bug where library source files were sometimes ignored.
2023-08-09 21:34:58 +02:00
Christoffer Lerno
7b0408f79d
Adding feature flags.
2023-07-26 23:28:11 +02:00
Christoffer Lerno
209d994336
Finalize subprograms after writing them. Correct debug info for C varargs. Add uwtable metadata. Removed visibility from functions.
2023-07-17 20:21:10 +02:00
Christoffer Lerno
aa216fa510
Dev ( #859 )
...
* Fix bug where analysing subexpr relied on them not being analysed. Fix issue where converting a const initializer bool to integer failed. Fix of issue where the case check assumed other cases were const values.
* Fix bug where analysing subexpr relied on them not being analysed. Fix issue where converting a const initializer bool to integer failed. Fix of issue where the case check assumed other cases were const values. Remove PTHREAD for windows.
* Fix bug where analysing subexpr relied on them not being analysed. Fix issue where converting a const initializer bool to integer failed. Fix of issue where the case check assumed other cases were const values. Remove PTHREAD for windows.
2023-07-17 02:00:27 +02:00
Christoffer Lerno
8a4e6f7dd3
Fix bug where @local declarations would get registered as @private for generic modules. #856 . Update to consistent tab spacing.
2023-07-15 19:27:24 +02:00
Christoffer Lerno
8b605d9183
$embed.
2023-07-09 01:18:01 +02:00
Christoffer Lerno
21d8a8b6da
Fix #809 missing checks on generic types, accepting both types where constants should be and vice versa.
2023-07-01 23:58:00 +02:00
Christoffer Lerno
8c73a450a1
Reduce memory consumtion. Add "range"
2023-06-25 21:39:53 +02:00
Christoffer Lerno
5c9eb264e8
Delete object files after linking.
2023-06-21 16:27:53 +02:00
Christoffer Lerno
4c1edfb941
Dev ( #777 )
...
* The new @if directive.
2023-06-10 23:16:28 +02:00
Christoffer Lerno
cfd21f8ca2
Windows thread pool.
2023-06-02 23:19:54 +02:00
Christoffer Lerno
d0e8944c56
Updated task pool.
2023-06-02 21:58:25 +02:00
Christoffer Lerno
8eddbfb708
Fix to net::os::posix. Remove "\s"
2023-05-12 16:55:15 +02:00
Christoffer Lerno
809321e20c
Updated grammar. Removal of elif. Removal of ':' ';' in some ct statements. Empty faults is now an error. Remove "define" for types. Remove "private". Better errors on incorrect bitstruct syntax. Introduction of wildcard type rather than optional wildcard. Removal of scaled vector type. mkdir and rmdir. Disallow define @Foo() = { @inline }. Add handling for @optreturn and change it to @return!. Restrict interface style functions. Updated x64 ABI. stdlib updates to string. Removed deprecated functions. Update how variadics are implemented. Extended error messages. x86 ABI fixes. Shift check fixes. '!' and '?' are flipped. No trailing ',' allowed in functions. Fix to string parsing. Allow l suffix. Simplifying flatpath. any replaces variant, anyfault replaces anyerr. Allow getting the underlying type of anyfault. De-duplicate string constants. Fix of readme. Extended list. Fix of "(MyEnum)x + 1". Clock and DateTime types. Fixes to array concat.
2023-04-21 10:56:39 +02:00
Christoffer Lerno
f8208f946b
Remove "generic" code paths.
2023-03-01 12:01:43 +01:00
Christoffer Lerno
3da9008fdc
$$DATE is fixed.
2023-02-18 00:03:46 +01:00
Christoffer Lerno
1548cd06ef
Enable local multi-declarations. Fix of builtin argument checking. Migrate to @noinit.
2023-02-11 02:03:02 +01:00
Christoffer Lerno
539d733ceb
Remove LLVM 14 support. Simplify ABI lowering.
2023-01-30 12:39:04 +01:00
Christoffer Lerno
1e18e576c7
Fix int[] -> void* casts.
2023-01-21 20:17:48 +01:00
Christoffer Lerno
38be3d57dd
Vendor fetch.
2023-01-06 16:49:45 +01:00
Christoffer Lerno
4a99190f96
C3L zip support. Version bump.
2023-01-03 22:40:35 +01:00
Christoffer Lerno
50d2a04c48
Default to threads = cpus(). Correct multithreaded benchmark with threads.
2022-12-11 23:35:02 +01:00
Christoffer Lerno
1864c69f31
Fixes to inc/dec vector element. Improvements to unit tests. Updated task threading. Single threaded by default due to poor LLVM perf.
2022-12-10 04:24:56 +01:00
Christoffer Lerno
af0174f360
Some work on io libs.
2022-12-09 08:45:02 +01:00
Christoffer Lerno
f73b507ccb
Use project.json instead of .c3p. List project properties. Check project property usage. Change names: lib-dir -> dependency-search-paths, libs -> dependencies, linker-libs -> linked-libraries, linkerlib-dir -> linker-search-paths, csources -> c-sources. Several settings have an xxxx-add, xxxx-override pair for the target, gaining fine grained control over the override.
2022-10-22 15:32:01 +02:00
Christoffer Lerno
a281dbe812
Added $$TIME, $$DATE, $$FUNCTION. Builtin defines listed.
2022-10-06 11:57:59 +02:00
Christoffer Lerno
379f9e60bf
More checks for $switch
2022-09-25 17:17:56 +02:00
Christoffer Lerno
cc71b96c38
Rearranging code somewhat.
2022-09-22 00:05:22 +02:00
Christoffer Lerno
28f2247602
Fix of mistake in commit.
2022-09-17 13:17:24 +02:00
Jean-Baptiste Perrier
1541354587
Extending JSON utils ( #574 )
...
* Adding json free, to_str, removing parser dependency from new_object.
* Adding support for BOOL in json_to_str
* Replace NULL check by assert
* Bugfixing json parser
Co-authored-by: Christoffer Lerno <christoffer.lerno@gmail.com >
2022-09-17 12:20:38 +02:00
Christoffer Lerno
1a9a71f4c4
Inline asm first checkin.
2022-09-05 13:29:03 +02:00
Christoffer Lerno
57e1084734
Improvements to parameter parsing. Update "splat" name. Allow more orderings of named parameters. Allow named args after variant.
2022-08-24 20:06:08 +02:00
Christoffer Lerno
31d151aa30
Added MSVC download script to prebuilts. Implicitly use msvc_sdk if available. Bump version to 0.3.17
2022-08-14 23:42:18 +02:00
Christoffer Lerno
aa337049ea
Fix -l and -L build options.
2022-08-10 22:21:29 +02:00
Christoffer Lerno
59b41f8deb
Reduce size of memory pages used.
2022-07-12 13:09:45 +02:00
Christoffer Lerno
2f5d51c92c
Attempt to add more native file handling for MSVC ( #459 )
...
* Fix clean and update MSVC function calls.
2022-06-04 21:32:35 +02:00
Christoffer Lerno
3d1eaad6b9
Update file_utils.c
2022-05-18 22:30:07 +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
ecdcd8f959
0.1.1: Add -L and -l parameters, also incomplete support of .c3i files.
2022-04-15 18:52:36 +02:00
Christoffer Lerno
3799dbb082
Use declid instead of decl* in the decltable.
2022-03-12 14:45:54 +01:00
Christoffer Lerno
2802b2b96d
Ensure, $eval and $evaltype, @unreachable() replaces $unreachable. <Type>.sizeof
2022-03-04 15:49:17 +01:00
Christoffer Lerno
4f4bc80953
Symtab has a new hash map type. New, small, sourcespan, external symbols simplified. Updated docs.
2022-03-01 10:32:52 +01:00
Christoffer Lerno
bf5683b41c
General cleanup, more native platform detection.
2022-02-18 09:54:12 +01:00
Christoffer Lerno
7226bff6ea
Use JSON, unifying settings.
2022-02-15 18:53:54 +01:00
Christoffer Lerno
e4e8abbc6c
Dev ( #376 )
...
Errno updates with errno for linux/win/macos. Updated $$ syntax to also match compiler constants.
2022-01-18 01:31:14 +01:00
Christoffer Lerno
71623a1874
Minor bugfix.
2022-01-10 18:59:29 +01:00
Christoffer Lerno
8f2ae41ea5
Removed allocation of AbiType. Separate string arena.
2022-01-03 12:19:46 +01:00
Christoffer Lerno
fd1353f0f1
Removed scratch hash table use for parameter checks. Faster symtab setup. Scrubbed the lexer somewhat without changing behaviour.
2022-01-01 22:08:07 +01:00