Christoffer Lerno
|
bb9e84d329
|
Make errors usable from other units. Order subarray elements correctly. Correct subarray -> pointer cast. Prevent unwrapping of catch in switch.
|
2021-08-31 18:12:30 +02:00 |
|
Christoffer Lerno
|
2ff5acc2a1
|
Allow constant strings as default values.
|
2021-08-31 13:03:12 +02:00 |
|
Christoffer Lerno
|
f180a0d44a
|
Change anyerror { i64, i64 } -> i64. Cleaned up platform data and max tls / vector align. Initial work on bitstruct (just parsing). Updated try / catch semantics.
|
2021-08-18 17:31:09 +02:00 |
|
Christoffer Lerno
|
446396da4c
|
Remove soft float accidentally turned on.
|
2021-08-16 00:25:41 +02:00 |
|
Christoffer Lerno
|
afeb555e2f
|
Improved support for vectors that allows correct usage in C ABI.
To free keywords, half -> float16, i128 -> int128, u128 -> uint128, quad -> float128.
|
2021-08-10 22:45:53 +02:00 |
|
Christoffer Lerno
|
9f42ddb68d
|
Fix foreach body copy. Moved deref / addr into special functions. Cleaned up access. Remove .sizeof .alignof .qnameof .nameof, create $qnameof $nameof
|
2021-07-26 09:30:35 +02:00 |
|
Christoffer Lerno
|
c149f14a1f
|
Added iro grammar.
|
2021-07-20 15:01:04 +02:00 |
|
Christoffer Lerno
|
5c0470023e
|
Updated info about vkQuake.
|
2021-07-19 21:43:31 +02:00 |
|
Christoffer Lerno
|
f60c1dd4a4
|
Fixes to the nano conf for errors.
|
2021-07-18 14:13:21 +02:00 |
|
Christoffer Lerno
|
f64c35214e
|
Change error -> anyerr / errtype
|
2021-07-18 14:11:39 +02:00 |
|
Christoffer Lerno
|
46a4f8a7ae
|
Added constants describing floating point types.
|
2021-07-16 17:48:31 +02:00 |
|
Christoffer Lerno
|
d93382d858
|
Add CChar to interop.
|
2021-07-15 01:32:05 +02:00 |
|
Christoffer Lerno
|
0111fe936e
|
Adds missing alignment to sret.
|
2021-07-14 11:53:09 +02:00 |
|
Christoffer Lerno
|
12ffeeaad7
|
Fixes to the cname patch.
|
2021-06-30 22:41:34 +02:00 |
|
gdm85
|
cf8c87c122
|
Make testproject buildable
|
2021-06-28 21:33:31 +02:00 |
|
Christoffer Lerno
|
59ec653fd3
|
Fix issue resolving paths for builds. Changed default output to a.out as per @gdm85's suggestion. Fixes to test project from @gdm85's pull req.
|
2021-06-28 09:11:20 +02:00 |
|
data-man
|
1e8a71ea62
|
Moving grammar files to the resources/grammar dir
|
2021-06-27 13:01:40 +02:00 |
|
Christoffer Lerno
|
9572c4afc9
|
Top level $if now uses $if: / $endif; Fix of boolean globals. Fix of $else: clause. Fix of $assert inside of $if
|
2021-06-24 18:01:59 +02:00 |
|
Christoffer Lerno
|
5a6cdd25ef
|
Introduced ${...} syntax for constants. Fixed issue where constants were not correctly handled for macros. /* */ comments are nesting. Added LINE, FUNC, FILE defines. Corrected shallow resolution of subarrays. Added int defines. Removed Vararray.
|
2021-06-24 00:59:25 +02:00 |
|
data-man
|
b5006b3a63
|
Update c3.nanorc
|
2021-06-13 01:08:45 +02:00 |
|
André
|
bf8e665120
|
nano syntax highlighting for himBHsstatements
|
2021-06-07 11:41:32 +02:00 |
|
Christoffer Lerno
|
95f39f42eb
|
Fix nasty bug where the node copies did not get a proper id.
|
2021-05-31 21:11:10 +02:00 |
|
Christoffer Lerno
|
dd8b850544
|
Support for "static" keyword.
|
2021-05-30 16:30:16 +02:00 |
|
Christoffer Lerno
|
0605a8c500
|
Introduce "private" keyword and private modules / private import.
|
2021-05-30 16:30:16 +02:00 |
|
Christoffer Lerno
|
d9566ef894
|
Generic modules are back, slightly different.
|
2021-05-30 16:30:16 +02:00 |
|
Christoffer Lerno
|
97ac957cb7
|
"Public by default"
|
2021-05-30 16:30:16 +02:00 |
|
André
|
13e95553bb
|
nano syntax highlighting support
c3.nanorc syntax file with instructions to install.
|
2021-05-29 20:27:11 +02:00 |
|
Christoffer Lerno
|
892c7e8874
|
Changed generic modules to internal templates.
|
2021-05-27 08:30:02 +02:00 |
|
Christoffer Lerno
|
1f676c135c
|
Removed func and rewrote typedefs.
|
2021-05-23 13:16:48 +02:00 |
|
Christoffer Lerno
|
90c988cc1f
|
Fix issue with unifying void returns.
|
2021-05-20 00:12:58 +02:00 |
|
data-man
|
d663af1e1a
|
Fix casts in math module
|
2021-05-18 19:00:51 +02:00 |
|
Christoffer Lerno
|
fc31c15914
|
Updated cast syntax in code samples.
|
2021-05-18 17:23:27 +02:00 |
|
data-man
|
7ee015c84f
|
Fix casts in math module
|
2021-05-17 22:25:03 +02:00 |
|
Christoffer Lerno
|
3c4233f4d4
|
Fixes to failable return from expression and macro blocks. Allow division by float zero. Correct type promotion from compile time float.
|
2021-05-17 21:17:46 +02:00 |
|
Christoffer Lerno
|
0e076234ca
|
Set stdlib library for testing and profit. Fix bugs when using void* to step. Make constants private linkage. Compare pointers using unsigned comparison without conversion. Use manual ptrdiff code. Fix issue returning "void!". Unify pointers when doing Foo* - void*. Allow comparing for example void* < Foo*
|
2021-04-29 03:12:25 +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
|
1d50beb330
|
Work on constant string and inferred array sizes.
|
2021-02-03 23:01:37 +01:00 |
|
Christoffer Lerno
|
4f064e7da2
|
Initial checkin of docs parsing. char is now unsigned, and signed char is "ichar".
|
2021-01-29 18:46:17 +01:00 |
|
Christoffer Lerno
|
26d25e3f74
|
Recursive references between globals are now correctly handled.
|
2021-01-27 00:14:16 +01:00 |
|
Christoffer Lerno
|
3a24fbfa6d
|
Moved examples around. Updated (and corrected) const initialization. Removed "in" keyword. Added "member" attribute domain. Many fixes in struct padding and alignment and tests. Fixed extern global.
|
2021-01-24 00:55:09 +01:00 |
|
Christoffer Lerno
|
564c93700e
|
Fixed bug that would intermittently arise from multiple contexts having the same pointer (should preferably be fixed in a different way later). Free all the arenas before codegen. Change "next" to "nextcase". Allow missing function parameters. Add "inline" structs.
|
2021-01-03 00:15:51 +01:00 |
|
Christoffer Lerno
|
6a5a0f2b94
|
Moved ABI lowering from codegen to semantic analysis. Fixes for failables in the ABI and the codegen.
|
2020-12-04 19:19:57 +01:00 |
|
Christoffer Lerno
|
3c15e495dd
|
Add macro arguments &foo $foo #foo.
C ABI compatibility aarch64, win64, x86, x64
Added debug info
|
2020-11-22 22:16:19 +01:00 |
|
Christoffer Lerno
|
4222f2731e
|
&&temp operator. Macro evaluation.
|
2020-10-16 18:11:30 +02: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
|
fb937156fe
|
Work on debug + fix of failable bug.
|
2020-09-02 10:18:30 +02:00 |
|
Christoffer Lerno
|
9709cb61a4
|
Struct constants stored in globals.
|
2020-08-09 19:01:46 +02:00 |
|
Christoffer Lerno
|
d070a5e7ff
|
Allow "if (...) else if (...)". Disallow 'if (...) doSomething()' unless the "doSomething" is in the same line.
|
2020-08-03 17:33:07 +02:00 |
|
Christoffer Lerno
|
b45c866071
|
Adding $switch and rearranging parser somewhat. Removing the need for "store" of context.
|
2020-08-02 13:53:17 +02:00 |
|