Christoffer Lerno
b47201fe61
Fix handling of default target with libc.
2024-09-25 21:09:33 +02:00
Christoffer Lerno
a8932910d9
wasm32 / wasm64 targets are use-libc=no by default.
2024-09-25 21:01:00 +02:00
Christoffer Lerno
413877b59d
Allow ^ suffix for non-recursive imports #1480 .
2024-09-25 15:23:21 +02:00
Christoffer Lerno
da47588502
Make methods be available in earlier stages of analysis. Add @adhoc attribute to allow types with ad hoc generic declarations.
2024-09-25 14:26:49 +02:00
Christoffer Lerno
6f7ffbeb3c
Add rand_in_range random function. Fix methodsof to apply to more types. Prevent methodsof in the wrong stage.
2024-09-25 00:18:11 +02:00
Christoffer Lerno
a258f2084f
Allow specifying an import module using @wasm #1305 .
2024-09-24 21:31:48 +02:00
Christoffer Lerno
01b087238a
Const initializer refactoring. Improve error on "Foo![]" #1477
2024-09-24 18:04:39 +02:00
Christoffer Lerno
d4832812ef
Fix regression.
2024-09-23 14:13:55 +02:00
Christoffer Lerno
9c098fd79f
Always flatten cont initializer inner type.
2024-09-23 02:51:53 +02:00
Christoffer Lerno
029d5e9068
Const initializer further cleanup.
2024-09-23 00:29:43 +02:00
Christoffer Lerno
f30486adf9
Const initializer cleanup.
2024-09-22 22:31:33 +02:00
Brian Sinquin
e21c337d3d
Project fetch missing libraries ( #1469 )
...
Project fetch missing libs
2024-09-21 23:49:26 +02:00
Christoffer Lerno
f66f324e0e
Suppor slicing of bytes.
2024-09-21 22:56:27 +02:00
Christoffer Lerno
885acdac24
Support compile time slicing of untyped lists.
2024-09-21 20:20:56 +02:00
Christoffer Lerno
ccb04c317c
Fix bug due to enum associated values not being checked for liveness.
2024-09-21 18:05:20 +02:00
Christoffer Lerno
abbedeec4f
Allow the "self" parameter to be $/# for macro methods. Fix bug when passing a type as a compile time value.
2024-09-21 15:55:39 +02:00
Christoffer Lerno
cdae3ec936
Some refactoring of the bitstruct representation. Correctly represent inner types. #1471
2024-09-21 13:43:52 +02:00
Christoffer Lerno
d727696830
Segfault using ternary with no assignment #1468 .
2024-09-21 00:57:36 +02:00
Christoffer Lerno
ac479c7e40
llvm issue with try when bool is combined #1467
2024-09-20 20:15:44 +02:00
Christoffer Lerno
cda6ffea1e
Slicing constant strings at compile time works.
2024-09-20 19:34:00 +02:00
Christoffer Lerno
19c1511901
Support linking .o files in compilation command. #1417
2024-09-20 16:21:29 +02:00
Christoffer Lerno
8e37e54645
Add env::COMPILER_BUILD_HASH and env::COMPILER_BUILD_DATE
2024-09-20 12:29:23 +02:00
Christoffer Lerno
c25645eab1
Add .gitkeep files to project subfolders.
2024-09-20 10:47:13 +02:00
Christoffer Lerno
9447913de6
Use arena with JSON parser. Slightly altered output for json printing.
2024-09-20 00:39:10 +02:00
Brian Sinquin
8a9834cac0
Vendor-fetch download to lib directory specified in project.json ( #1422 ) ( #1441 )
...
Vendor-fetch download default destination set to dependency-search-path in project.json Add fetched libraries in the project configuration file dependency entry.
2024-09-19 23:44:05 +02:00
Christoffer Lerno
2fec1c83a4
Enum attributes would be overwritten by enum value attributes.
2024-09-19 23:02:06 +02:00
Christoffer Lerno
ff36380ddf
Allow user-defined attributes to have typed parameters. Folding a constant array of structs at compile time would cause an assert.
2024-09-19 22:21:29 +02:00
Christoffer Lerno
f2cfa61a39
User defined attributes could not have more than 1 parameter due to bug.
2024-09-19 21:14:08 +02:00
Christoffer Lerno
9f51bfcc10
Support casting bitstructs to bool.
2024-09-19 01:03:06 +02:00
Christoffer Lerno
20fd7aba9b
Regression when passing types as #expr arguments. #1461
2024-09-18 22:16:26 +02:00
Christoffer Lerno
9719abe99a
Better slice error message, and enable slice on non-vaarg.
2024-09-18 10:55:18 +02:00
Christoffer Lerno
0b94e73c0b
Regression fix arguments needed when presenting error on a method.
2024-09-18 10:07:39 +02:00
Christoffer Lerno
5e2a06bfd6
Update shell argument escape.
2024-09-18 00:48:39 +02:00
Christoffer Lerno
ac95e411bc
Make str_eq safe to use with NULL.
2024-09-17 23:48:36 +02:00
Christoffer Lerno
08219fc57e
Fix reordering semantics in struct assignment.
2024-09-17 22:41:49 +02:00
Christoffer Lerno
08a575fa82
Crash invoking a @body argument with the wrong number of parameters.
2024-09-17 00:33:38 +02:00
Christoffer Lerno
297a6c9348
Support C3C_LIB and C3C_CC environment variables. Enable compiling against 20 to see if it works.
2024-09-17 00:12:50 +02:00
Christoffer Lerno
1181edc48e
Fix error message when not finding a particular function
2024-09-16 22:43:30 +02:00
Christoffer Lerno
81f1930349
Code cleanup. Correct deprecation notice on '$or'. Allow "self" param on macro method to be constant.
2024-09-16 10:40:34 +02:00
Christoffer Lerno
1b5472cc94
Add paramsof.
2024-09-15 23:43:09 +02:00
Christoffer Lerno
06a083bafc
Lambda / function type would accidentally be processed as a method.
2024-09-15 22:12:03 +02:00
Christoffer Lerno
9bb45cb6a3
Add missing concat. Fix error message location on not enough arguments.
2024-09-15 15:56:13 +02:00
Christoffer Lerno
4f5e5fcdba
Remove mem tap.
2024-09-15 02:10:19 +02:00
Christoffer Lerno
bca44d1c14
Bug with casting anyfault to error.
2024-09-15 00:55:22 +02:00
Christoffer Lerno
f51230e793
Fix bugs in "trap-on-wrap" #1434 .
2024-09-14 16:19:40 +02:00
Christoffer Lerno
3ab201ce10
Use atexit to fix finalizers on Windows #1361 .
2024-09-14 16:17:57 +02:00
Christoffer Lerno
45a94cfe86
Asserts are now correctly included and traced in when running tests. Removed accidental debug trace.
2024-09-14 13:48:27 +02:00
Christoffer Lerno
f16cc999bd
Fix bug where inline index access to array in a struct would crash the compiler.
2024-09-14 12:58:37 +02:00
Christoffer Lerno
d39f25efd3
Support inline struct designated init as if inline was anonymous.
2024-09-13 20:31:21 +02:00
Christoffer Lerno
6b2ce6de6f
Fix unreachable.
2024-09-13 15:32:26 +02:00