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
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
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
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
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
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
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
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
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
7226bff6ea
Use JSON, unifying settings.
2022-02-15 18:53:54 +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
Christoffer Lerno
bbeed12600
Removing unused hash table functions. Removal of macro DECL_NEW. Smaller initial vector size. Remove unnecessary memclear.
2021-12-30 16:41:00 +01:00
Christoffer Lerno
52cc4f8ba5
Move compiler plain malloc calls to function to make them easy to track.
2021-12-19 23:11:32 +01:00
Christoffer Lerno
8aa00b015b
Add support from compiling c from c3c.
2021-12-09 23:38:57 +01:00
Christoffer Lerno
379a66a14b
Add switch(variant)
2021-12-09 22:52:48 +01:00
Christoffer Lerno
bc2d789c2e
Filter \r before lexing.
2021-12-03 16:43:37 +01:00
Christoffer Lerno
1bb9c2d249
Allow the compiler to be called multiple times (while leaking)
2021-12-02 22:50:38 +01:00
Christoffer Lerno
05c9b7cb33
More explicit conversion and width changes to some field.
2021-11-21 23:37:54 +01:00
Christoffer Lerno
bb39cf20c0
Removal of #pragma mark, explicit conversions.
2021-11-21 21:43:06 +01:00
Christoffer Lerno
4f09b0c351
Bitstruct implementation.
2021-11-05 11:59:30 +01:00
Christoffer Lerno
f48661d35e
Removed use of basename / dirname.
2021-10-19 23:09:05 +02:00
Christoffer Lerno
b4df56db54
Removed original_type, pure, removed bigint, added i128 type, lots of fixes to $Foo, reassigning ct type, catch/macro, "!", removed type inference.
2021-10-19 10:39:02 +02:00
Christoffer Lerno
b66ea1b4cd
Updating CALLOCS
2021-08-31 22:09:56 +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
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
2246b641b1
Fix stack overwrite.
2021-07-30 00:18:30 +02:00
Christoffer Lerno
89d831fc18
Remove debug printout unless explicitly required. Add compile-only option.
2021-07-19 14:10:31 +02:00
Christoffer Lerno
2778adbcb9
Fix bug #208
2021-07-18 18:53:00 +02:00
kvk1920
050382b68e
Windows compatibility ( #207 )
...
* incorrect environment detection fixed
* use %zu instead of %ld for size_t
* fix rounding in integer division
* fix compiler error on Windows
* implement missed functions
* make linker available if MinGW environment is used
* make linker available under MSYS2 Clang64 and MSYS2 MinGW64
2021-07-13 12:59:55 +02:00