Christoffer Lerno
336ddb67c8
Incorrect alignment on typedef and local variable debug info.
2026-01-07 00:16:49 +01:00
Christoffer Lerno
d8a7c57b56
- Miscompilation: global struct with vector could generate an incorrect initializer.
2025-12-30 23:54:00 +01:00
Christoffer Lerno
d96624c578
Decoupled generics ( #2695 )
2025-12-29 17:01:03 +01:00
Christoffer Lerno
4e6cd4283c
- Remove use of LLVMGetGlobalContext for single module compilation.
...
- Fixed bug where constants would get modified when slicing them. #2660
2025-12-19 17:17:45 +01:00
Christoffer Lerno
4e66693065
- Refactored @simd implementation.
...
- Regression vector ABI: npot vectors would load incorrectly from pointers and other things. #2576
2025-11-16 01:37:39 +01:00
Christoffer Lerno
5070840da9
- Regression vector ABI: initializing a struct containing a NPOT vector with a constant value would crash LLVM. #2559
2025-11-04 01:04:07 +01:00
Christoffer Lerno
423152202f
Dev ( #2545 )
...
* Optimize vector load / store. Fixes to alignment. Support typedef with `@simd` and `@align` #2543 . Update vector ABI #2542
* Fix alignment issue with indirect arguments.
2025-10-25 12:31:06 +02:00
Giuliano Macedo
614c6989d8
Fixed incorrect format strings when using error_exit. ( #2530 )
...
* Fixed incorrect format strings when using `error_exit`.
2025-10-20 11:24:07 +02:00
Christoffer Lerno
ae33d1a206
Fix issue testing if something is global. Remove ScopeId. Adding comments to code.
2025-10-11 13:50:06 +02:00
Christoffer Lerno
94497c968b
- Prevent foo.bar = {} when bar is a flexible array member. #2497
...
- Fix several issues relating to multi-level inference like `int[*][*]` #2505
2025-09-30 23:43:20 +02:00
Christoffer Lerno
3ccabd625c
Renaming
2025-09-22 23:08:11 +02:00
LowByteFox
6dbd81a6f9
add ability for TinyCC to compile c3c ( #2459 )
...
* add ability for TinyCC to compile c3c
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-09-06 01:47:48 +02:00
Christoffer Lerno
e605a21fd3
Revert "Revert 0.7.6 code for 0.7.5 re-release"
...
This reverts commit d1349c9cfb .
2025-09-05 23:30:35 +02:00
Christoffer Lerno
d1349c9cfb
Revert 0.7.6 code for 0.7.5 re-release
2025-09-05 18:42:54 +02:00
niedlich
cf14787552
Typo fixes ( #2457 )
...
* fix typos in comments and strings
* fix typos in symbols (and some comments/strings)
* fix typos in releasenotes.md
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-09-04 01:07:07 +02:00
Christoffer Lerno
e3a8a3ec02
Support alias foo = module std::io module aliasing.
2025-08-02 16:56:43 +02:00
Christoffer Lerno
a20e74c401
Fixes to thread local pointer handling.
2025-07-06 00:22:21 +02:00
Christoffer Lerno
13bb2b6690
Const Enums From / to ordinal using casts is back. Add "--use-old-enums", deprecating lookup.
2025-06-30 21:41:52 +02:00
Christoffer Lerno
e1a125e326
- Initial support for #1925 , does not affect C compilation yet, and doesn't try to link etc. Using "--emit-only"
2025-06-29 23:50:17 +02:00
Christoffer Lerno
75f78551cf
Rename TypdefDecl to TypeAliasDecl
2025-06-18 11:59:44 +02:00
Christoffer Lerno
966e8107f8
Add $$matrix_mul and $$matrix_transpose builtins.
2025-05-27 00:50:21 +02:00
Christoffer Lerno
f668b96cc9
$$sat_mul was missing.
2025-05-26 12:23:19 +02:00
Christoffer Lerno
8c741c617c
Variable aliases of aliases would not resolve correctly. #2131
...
Variable aliases could not be assigned to.
2025-05-15 09:36:16 +02:00
Christoffer Lerno
5c77c9a754
- Change distinct -> typedef.
...
- Order of attribute declaration is changed for `alias`.
- Added `LANGUAGE_DEV_VERSION` env constant.
- Rename `anyfault` -> `fault`.
- Changed `fault` -> `faultdef`.
- Added `attrdef` instead of `alias` for attribute aliases.
2025-03-15 20:10:47 +01:00
Christoffer Lerno
d5b211a786
Fault nameof prefixes the first last module path, for instance std::io::EOF is rendered as io::EOF.
2025-03-11 22:46:02 +01:00
Christoffer Lerno
25bccf4883
New faults and syntax ( #2034 )
...
- Remove `[?]` syntax.
- Change `int!` to `int?` syntax.
- New `fault` declarations.
- Enum associated values can reference the calling enum.
2025-03-10 00:11:35 +01:00
Christoffer Lerno
61c67c8f23
Fix address sanitizer to work on MachO targets (e.g. MacOS).
2025-03-03 00:32:20 +01:00
Christoffer Lerno
31096531e1
Several fixes for .o files and -o output, improving handling and naming, checking for existence of sub-folders before output. Warning on using .o and -o output when not single module etc. Fix to static lib regression. Info about asm / llvm / obj output.
2025-02-25 14:05:00 +01:00
Christoffer Lerno
80e360d8dd
Dispose of copied module.
2025-02-20 23:25:25 +01:00
Christoffer Lerno
9f165342e2
Revert disposal
2025-02-20 22:41:44 +01:00
Christoffer Lerno
a2bfeb156d
Dispose of the LLVMModule
2025-02-20 22:36:00 +01:00
Christoffer Lerno
1f856cacf5
HashMap is now Printable. Fix access inlining for enums. #1958
2025-02-12 23:11:46 +01:00
Christoffer Lerno
4961d0433f
- Circumvent Aarch64 miscompilations of atomics.
...
- Fixes to ByteBuffer allocation/free.
- Fix issue where compiling both for asm and object file would corrupt the obj file output.
2025-02-12 12:50:30 +01:00
Christoffer Lerno
a056efce04
Additional cleanup.
2025-01-30 19:32:20 +01:00
Christoffer Lerno
f863c4ae84
Fix incorrect arg type failing MSVC compilation. Missing ASSERT updated. Update python script. Fix bug printing error duplicate generic module.
2025-01-20 03:35:49 +01:00
Christoffer Lerno
bb2a2526e4
Refactoring access + some macro renaming.
2025-01-20 02:44:39 +01:00
Christoffer Lerno
f9b86226a8
Refactoring identifier and catch unwrap into two different nodes.
2025-01-19 13:23:21 +01:00
Christoffer Lerno
8785c2c46f
Assert when partially initializing a constant struct containing a slice #1812 .
2025-01-11 22:42:33 +01:00
Christoffer Lerno
3a1bba19af
Allow test runners to take String[] arguments.
2025-01-09 22:32:59 +01:00
Christoffer Lerno
dad97fc2d9
Improved #foo resolution inside of the compiler.
...
Deprecation of several `&` macros.
2025-01-08 12:55:20 +01:00
Christoffer Lerno
08e8c9bf57
Use weak on dyn-symbols on Linux.
2024-12-27 02:05:40 +01:00
Christoffer Lerno
625152440c
Use weak_odr rather than weak on Windows which seems to prevent issues such as #1704 . Fix regression.
2024-12-26 21:35:41 +01:00
Christoffer Lerno
627f10cd18
Fix bug when a macro calling an extern function was called in another module also declaring and calling the same function. #1690
2024-12-19 20:39:23 +01:00
Christoffer Lerno
b882265e52
Start work on 0.6.5
2024-11-10 01:18:56 +01:00
Christoffer Lerno
31cd839063
Switch to <* *> docs. Fix issue with dynamically loaded C3 libs with other C3 code.
2024-10-14 02:14:34 +02:00
Christoffer Lerno
8ce171877e
Also weaken libc and generic templates.
2024-10-12 02:13:35 +02:00
Christoffer Lerno
d19f628c73
Return missing MSVC fix.
2024-10-12 00:05:50 +02:00
Christoffer Lerno
526d15b804
Stop using linkonce and use weak instead.
2024-10-11 23:56:29 +02:00
Christoffer Lerno
c308397ed6
Fix weak linking for windows.
2024-10-11 23:35:12 +02:00
Christoffer Lerno
cba25710fe
Refactor and unify linker visibility and fix issues with weak stdlib.
2024-10-11 21:45:44 +02:00