Christoffer Lerno
11f090116f
Allow disabling asserts.
2026-01-23 13:09:43 +01:00
Glenn Kirk
49e836b1ab
[stdlib] macOS - Add objc and core foundation types and enums. ( #2572 )
...
* Add CGFloat, CGPoint, CGSize, CGRect
* Add WindowCollectionBehavior, WindowLevel, and WindowTabbingMode
* Change EventMask to ulong to match the objc unsigned long long
* Change int types to NS(U)Integer types to match objc
* Add core foundation tests
* Add objc tests
* Add darwin conditional to the test files
* Change enums to const inline to better match the NSEvent.h api.
Update the EventMask helper function to match the NSEvent.h api:
event_type_from -> event_mask_from_type.
* Update the release notes
* Deprecate original objc enums and replace with const inline enums backed with NS numerical types.
Rename the new objc enums with an NS prefix.
Update unit tests to account for new NS prefixed enums.
Add states item length constants to core_foundation.
Status item lengths don't really belong in either file, but as they are
dependant on CGFloat it made sense to move them to the same module.
Update release notes.
* Some tweaks
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-11-20 22:47:20 +01: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
9447913de6
Use arena with JSON parser. Slightly altered output for json printing.
2024-09-20 00:39:10 +02:00
Christoffer Lerno
800f7970a7
Fixes to the socket functions. Improved output when pointer is out of range. Better error when casting to a distinct fails.
2024-08-06 17:08:03 +02:00
Christoffer Lerno
cc19168c7b
Some general cleanup.
2023-02-28 01:15:30 +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
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
7226bff6ea
Use JSON, unifying settings.
2022-02-15 18:53:54 +01:00
Christoffer Lerno
a0be188902
Lexing updated with simpler code. Note: may have bugs.
2021-12-27 15:45:54 +01:00
Christoffer Lerno
b066c25432
Remove reminder logs unless --debug-log on. Fix UB in test.
2021-12-07 22:20:35 +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
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
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
0605a8c500
Introduce "private" keyword and private modules / private import.
2021-05-30 16:30:16 +02:00
Christoffer Lerno
1f676c135c
Removed func and rewrote typedefs.
2021-05-23 13:16:48 +02:00
Christoffer Lerno
c6f671a6ca
A bit more global...
2021-04-29 22:44:00 +02:00
Christoffer Lerno
fd08c5c980
Revert "Remove suppressed warning."
2021-04-29 17:23:46 +02:00
Christoffer Lerno
c4585f9bbd
Remove suppressed warning.
2021-04-29 17:18:50 +02:00
Christoffer Lerno
f028bc274f
Use the platform linker by default, which will just be a call to "cc" (the Win solution will be done later)
2021-04-14 14:29:03 +02:00
Christoffer Lerno
4210f1ccb2
Some work on vararray. Fix span on post unary. Updated error recovery. Updated return analysis to handle void functions. "while" now disallows error prone next line statement. Working on auto linking. Failable load optimized. Optimization and corrections for call returns + documentation.
2021-04-05 23:34:40 +02:00
Christoffer Lerno
07595df412
Change cast and int rules: constant folding always starts. Promotion using left side on all operands to bit width. Implicit narrowing to max size on right hand side.
2021-03-17 18:25:00 +01: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
b4c661eaad
Pre lexing and mmap allocation together with exact exits.
2020-07-15 15:42:54 +02:00
Christoffer Lerno
ded367399e
Some work towards automated testing. Fixes to bigint. Removed implicit assign cast. Updated cast rules. Fixes *%=. Simplified case. Unified shift code. Major casts rework. Fixed error handling of pointer + integer adds. Removed &&= and ||=. Unified more expression handling and fixed bugs in sematic analysis on expressions.
2020-04-02 23:13:04 +02:00
Christoffer Lerno
2e3bbf119c
Lexer cleanup
2020-03-29 17:40:03 +02:00
Christoffer Lerno
7b4ed09517
Introduced a Lexer context, comment parsing now actually works properly. Token use in decl/ast/expr is moved to SourceRange instead. And the SourceRange used start/end, which is better than using start + len for many uses.
2020-01-25 17:56:17 +01:00
Christoffer Lerno
cdc1bfe267
Start using UnaryOp/PostUnaryOp ++/-- now works post/pre and also on pointers. Fix ++/-- on any number. Added examples. c3c now compiles files by default. Extended symbol resolution. Addition of 'extern'. Multi-level paths.
2020-01-16 21:28:13 +01:00
Christoffer Lerno
946ca18cee
Support for subscripts. Added helloworld.
2019-12-11 17:22:48 +01:00
Christoffer Lerno
990918b609
LLVM Codegen
2019-11-20 17:09:25 +01:00
Christoffer Lerno
2eb91083a6
Refactor type handling, some extremely simple codegen, but mostly work on casts (not finished)
2019-09-01 01:58:21 +02:00
Christoffer Lerno
ebce81ad51
Parses most of C3.
2019-08-25 08:40:07 +02:00
Christoffer Lerno
33770b905d
Added decorator keyword and reordered types
2019-08-02 14:42:22 +02:00
Christoffer Lerno
386ef35f36
Started a bit on parsing. Picking pieces from Titanos and trying to do things better.
2019-07-31 23:19:45 +02:00
Christoffer Lerno
8f611a400d
Lexing up and running.
2019-07-27 17:20:31 +02:00
Christoffer Lerno
7439dccc53
Add a little testing and keyword parsing x2
2019-07-25 18:57:35 +02:00