Christoffer Lerno
|
8568b9b079
|
Fix right -> left associativity for assignment.
|
2021-07-19 17:31:13 +02:00 |
|
Christoffer Lerno
|
28a0dec343
|
Fixes: Extname works on global variables. Bug with boolean in ternary in some cases. Global declarations would not parse attributes.
|
2021-07-19 17:10:13 +02:00 |
|
Christoffer Lerno
|
8ba2994caa
|
Required parens code moved to semantic analysis. Make || and && have different levels since parens cannot be enforced.
|
2021-07-18 20:26:19 +02:00 |
|
Christoffer Lerno
|
ac2fd2dd71
|
Added tests for type methods on non struct/unions.
|
2021-07-18 19:00:16 +02:00 |
|
Christoffer Lerno
|
2778adbcb9
|
Fix bug #208
|
2021-07-18 18:53:00 +02:00 |
|
Christoffer Lerno
|
917f00bb7a
|
Support $typeof, removing the old typeof
|
2021-07-18 18:36:19 +02:00 |
|
Christoffer Lerno
|
f64c35214e
|
Change error -> anyerr / errtype
|
2021-07-18 14:11:39 +02:00 |
|
Christoffer Lerno
|
e6b9efe850
|
Fixing parse of error type.
|
2021-07-18 13:44:16 +02:00 |
|
Christoffer Lerno
|
069dbe8238
|
Make it possible for globals and static variables to have failables.
|
2021-07-18 12:39:08 +02:00 |
|
Christoffer Lerno
|
26d976d0bd
|
Fix Foo! syntactic sugar.
|
2021-07-17 20:59:29 +02:00 |
|
Christoffer Lerno
|
5fc937897a
|
Check private module parsing.
|
2021-07-17 18:09:31 +02:00 |
|
Christoffer Lerno
|
1af27136fa
|
Improved error messages on incorrect module name. Issue #209
|
2021-07-17 15:20:13 +02:00 |
|
Christoffer Lerno
|
45a3c8ae50
|
Fix alignment on all indirect. Fixed incorrect preferred alignment. Added mingw regression tests.
|
2021-07-16 13:05:56 +02:00 |
|
Christoffer Lerno
|
22fb7b4bcc
|
Fix bug in (x && y && z) codegen.
|
2021-07-16 11:18:33 +02:00 |
|
Christoffer Lerno
|
afd39c4d4d
|
Add inf and nan.
|
2021-07-16 00:05:09 +02:00 |
|
Christoffer Lerno
|
1948ae3fe2
|
Fix checks on float literal exceeding max, and implicit float conversions.
|
2021-07-15 01:17:18 +02:00 |
|
Christoffer Lerno
|
a18f668fc4
|
Updated error messages on failed binary arithmetic promotion.
|
2021-07-14 23:48:43 +02:00 |
|
Christoffer Lerno
|
89a1f62ea8
|
This improves error messages when using the wrong arguments for "define". Closes #221
|
2021-07-13 23:52:04 +02:00 |
|
Christoffer Lerno
|
c0d8f7ba90
|
Incorrect error message when trying to subtract incompatible types from each other. Also, allowing ulong - int should just work. Issue #222.
|
2021-07-13 23:26:08 +02:00 |
|
Christoffer Lerno
|
c94eacd26f
|
Fixes issue where cont/break/next stack isn't pushed for expression blocks.
|
2021-07-13 16:09:45 +02:00 |
|
Christoffer Lerno
|
9a6d8d7657
|
Corrected hex double literal parsing (although it's not 100% correct yet)
|
2021-07-12 23:45:34 +02:00 |
|
Christoffer Lerno
|
9ee24b5846
|
Improve error message on import "foo", module "foo", and import statements out of order.
|
2021-07-12 21:07:14 +02:00 |
|
Christoffer Lerno
|
2134a9f77b
|
$offsetof added.
|
2021-07-11 01:22:21 +02:00 |
|
Christoffer Lerno
|
a5ce7c47ba
|
Adding "require" precondition. Corrects inferred arrays and fixes so that it uses [*] everywhere. Distict type will now allow methods to be added to it. Added $alignof and $sizeof.
|
2021-07-09 23:57:35 +02:00 |
|
Christoffer Lerno
|
4ed2596164
|
Removes "yield"
|
2021-06-28 00:19:46 +02:00 |
|
Christoffer Lerno
|
1d0c2ab2b0
|
Unifies function and macro argument parsing. Removed generic and attribute parsing. Prepare removal of yield.
|
2021-06-27 23:09:37 +02:00 |
|
Christoffer Lerno
|
038ed7f9d5
|
Macro methods added.
|
2021-06-26 17:42:45 +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
|
321ee81c9d
|
Complete removal of /+ +/
|
2021-06-24 01:29:53 +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 |
|
Christoffer Lerno
|
dafe0e6fb6
|
Updated scope code and variable tracking. Added trailing body macros.
|
2021-06-10 15:06:12 +02:00 |
|
Christoffer Lerno
|
9f545c3f89
|
Added bigger test for regression.
|
2021-06-01 10:08:51 +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 |
|
Christoffer Lerno
|
892c7e8874
|
Changed generic modules to internal templates.
|
2021-05-27 08:30:02 +02:00 |
|
Christoffer Lerno
|
cf82140a47
|
Adding min/max/elements to enums.
|
2021-05-23 23:55:10 +02:00 |
|
Christoffer Lerno
|
1f676c135c
|
Removed func and rewrote typedefs.
|
2021-05-23 13:16:48 +02:00 |
|
Christoffer Lerno
|
fb6d80b0f6
|
Removed implicitly created modules. Fix classification of arrays in x64. Fix cast with direct-pair. With test cases.
|
2021-05-19 17:27:59 +02:00 |
|
Christoffer Lerno
|
fc31c15914
|
Updated cast syntax in code samples.
|
2021-05-18 17:23:27 +02:00 |
|
Christoffer Lerno
|
216467cbf8
|
Added alternative cast syntax: (type)(expr)
|
2021-05-18 14:57:41 +02:00 |
|
Christoffer Lerno
|
460c0d04d7
|
Generic modules.
|
2021-05-12 17:25:59 +02:00 |
|
Christoffer Lerno
|
9b86b00834
|
Compilation is now done with each module compiled together.
|
2021-05-11 14:58:21 +02:00 |
|
Christoffer Lerno
|
f7919edb35
|
Split modules into generic and normal modules on the top level. Prepare for static. Change local -> static as keyword. Add private include. Remove old sub module search.
|
2021-05-09 19:26:05 +02:00 |
|
Christoffer Lerno
|
3bd638bf77
|
Fixes to debug info in function pointer declarations. Incorrect x64 ABI code for structs by val. Change "Compiler" to "GlobalContext" storage of all types inside. Call debug symbol correct.
|
2021-05-02 16:42:28 +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
|
01f7343945
|
Parsing of interface. Fix to unpacking arraypointers. Fix accidental unsplat.
|
2021-04-29 03:12:25 +02:00 |
|
Christoffer Lerno
|
4536d3a270
|
Fix of missing O3 setting. Added safe/unsafe mode. Updated trapping on negation. Added trap on negative shift & shift exceeding bit width. Added trap on div by zero, rem by zero. Prevent UB on negative shift/shift exceeding bit width. Use ordered FP comparison.
|
2021-04-07 11:14:55 +02:00 |
|