Christoffer Lerno
|
380c1c8ab4
|
Support for $assert. Also change order of checking global declarations from parsing to semantic analysis.
|
2020-07-30 17:44:41 +02:00 |
|
Christoffer Lerno
|
8586bf3f8d
|
Constants are now variables. Constant compile time constants are typeless and act as #define and are now also correctly parsed. Enums are also correctly lowered. And expressions are copied when inlining constants. Compile time ints can no longer be bitnegated.
|
2020-07-29 22:08:47 +02:00 |
|
Christoffer Lerno
|
d0ed16e60e
|
Fixes to !! operator + tests.
|
2020-07-29 12:07:56 +02:00 |
|
Christoffer Lerno
|
7853cb09ac
|
Added check when omitting end index for pointers.
|
2020-07-28 17:37:48 +02:00 |
|
Christoffer Lerno
|
ce68bda86c
|
Corrected ptr->bool conversion. Avoid checking function body if function is invalid. Switch defer test cases. Slices with test cases.
|
2020-07-28 17:37:48 +02:00 |
|
Christoffer Lerno
|
90ab4f07b9
|
Corrected ptr->bool conversion. Avoid checking function body if function is invalid. Switch defer test cases.
|
2020-07-28 17:37:48 +02:00 |
|
Christoffer Lerno
|
c839eb50c8
|
Simplified defer and now also allow nested defers.
|
2020-07-27 11:40:45 +02:00 |
|
Christoffer Lerno
|
a533cbb1a7
|
Fixes to tester for multiple file support.
|
2020-07-27 11:40:45 +02:00 |
|
Christoffer Lerno
|
7b7abf5d4a
|
Fixes to defer, allowing break in defer (instead of continue). Fixed bug in PTR->BOOL cast. Extended test system to support multi files and codegen.
|
2020-07-27 11:40:45 +02:00 |
|
Christoffer Lerno
|
75dd644e52
|
Corrected parsing for incremental arrays. Correctly handle failed declarations. More tests.
|
2020-07-25 21:54:32 +02:00 |
|
Christoffer Lerno
|
34c7df9ee1
|
Fixed multi line error reporting for tokens. Handle infinite empty for loops. Changed cast syntax to "cast(foo as Foo)". Completed enum casts. Added more tests.
|
2020-07-25 21:54:32 +02:00 |
|
Christoffer Lerno
|
e3566ba838
|
Fixed crash bug on missing module, and on file name == keyword. Added summary to tester and corrected filename.
|
2020-07-25 21:54:32 +02:00 |
|
Christoffer Lerno
|
bd68380f06
|
Fixes to compile time integer conversions to to unsigned values, detecting negative values. Require cast on int -> pointer cast. Fixed check on array underflow. More tests.
|
2020-07-25 02:43:06 +02:00 |
|
Christoffer Lerno
|
7e803034c2
|
Merge pull request #36 from c3lang/dev
Changed how structs/unions are parsed so that recovery becomes more r…
|
2020-07-23 18:06:22 +02:00 |
|
Christoffer Lerno
|
ed01616f1e
|
Changed how structs/unions are parsed so that recovery becomes more robust. Allow for more complex error data. Fixed recursive structs/unions. Corrected prefix precedence rules. Begin work on checking initializer constant-ness. Fixed error on failed arithmetic promotion. Added checks on constant overflow of sub/add/mult. Allow "current_module_name::x" to refer to globals. Added many tests.
|
2020-07-23 18:04:18 +02:00 |
|
Christoffer Lerno
|
f45d6ef84b
|
Fix, separate out the function pass from the decl pass. Diagnose non-visible symbols as not visible rather than missing. Fix crash when module identifier is incorrect. !! operator added. New character literal parsing. Added simple test framework.
|
2020-07-21 23:43:28 +02:00 |
|
Christoffer Lerno
|
b4c661eaad
|
Pre lexing and mmap allocation together with exact exits.
|
2020-07-15 15:42:54 +02:00 |
|
Christoffer Lerno
|
3e76ee2643
|
TODO corrected
|
2020-07-09 16:17:08 +02:00 |
|
Christoffer Lerno
|
9b0f0edf19
|
Explicit fallthrough.
|
2020-07-09 16:15:44 +02:00 |
|
Christoffer Lerno
|
c976dc3749
|
Removed fallthrough.
|
2020-07-09 16:13:25 +02:00 |
|
Christoffer Lerno
|
1ddcb99711
|
More fixes for warnings.
|
2020-07-09 16:11:29 +02:00 |
|
Christoffer Lerno
|
3e5fefdb64
|
Fixed warning.
|
2020-07-09 16:10:02 +02:00 |
|
Christoffer Lerno
|
dc86c21210
|
New failable based error handling. Labelled break/continue/next.
|
2020-07-09 13:07:08 +02:00 |
|
SeekingMeaning
|
10f715cec0
|
Fixed link to C2 language in readme
|
2020-07-06 23:25:19 +02:00 |
|
Christoffer Lerno
|
a6a4136685
|
Updated examples and grammar for big error change.
|
2020-06-17 18:19:00 +02:00 |
|
Christoffer Lerno
|
42a222e353
|
Update CODE_OF_CONDUCT.md
|
2020-06-17 12:49:04 +02:00 |
|
Christoffer Lerno
|
7410a8d985
|
Create CODE_OF_CONDUCT.md
Added code of conduct.
|
2020-06-17 12:45:31 +02:00 |
|
Christoffer Lerno
|
50c36789bf
|
Fixes bug handling chained && ||. Work towards more macro functionality. Correctly emit stdcall. Corrected character parsing in escaped string entries.
|
2020-06-11 15:45:58 +02:00 |
|
Christoffer Lerno
|
f96ab76195
|
Type parsing and expr parsing unified.
|
2020-06-02 00:41:35 +02:00 |
|
Christoffer Lerno
|
3bdfe3e05e
|
Refactored structs.
|
2020-06-01 21:00:21 +02:00 |
|
Christoffer Lerno
|
c9ab05bfec
|
Prepare for struct refactoring.
|
2020-05-30 20:58:09 +02:00 |
|
Christoffer Lerno
|
1b69423f45
|
Method functions now work.
|
2020-05-27 12:26:38 +02:00 |
|
Christoffer Lerno
|
28f307d467
|
Fixed correct calculation for warning on unused throw.
|
2020-05-27 10:23:03 +02:00 |
|
Christoffer Lerno
|
aa266c076a
|
Try to change path for llvm.
|
2020-05-20 17:28:45 +02:00 |
|
Christoffer Lerno
|
481bada1df
|
Yaml cleanup.
|
2020-05-20 17:19:33 +02:00 |
|
Christoffer Lerno
|
2b97241908
|
Nicer print of errors when using typedef. Error cast of pointers should not have error when optionally implicit. Improved func pointer printout.
|
2020-05-20 16:51:44 +02:00 |
|
Christoffer Lerno
|
4b5adc46db
|
Use LLVM 9
|
2020-05-20 15:24:47 +02:00 |
|
Christoffer Lerno
|
0351f23f96
|
Revert
|
2020-05-20 15:11:23 +02:00 |
|
Christoffer Lerno
|
6790bba04f
|
Updated main.yml
|
2020-05-20 15:06:49 +02:00 |
|
Christoffer Lerno
|
34cf3a362d
|
Updated LLVM dl
|
2020-05-20 15:05:26 +02:00 |
|
Christoffer Lerno
|
b2bfd87a06
|
Started work on ranges. Added weak/noreturn/inline/cname/stdcall/section/alignment attributes. Some work on subarrays. Fixes to throws. Function pointers work.
|
2020-05-20 14:22:22 +02:00 |
|
Christoffer Lerno
|
a160bfc352
|
Fixed incorrect fallthrough.
|
2020-05-07 12:33:17 +02:00 |
|
Christoffer Lerno
|
721bcde179
|
Delete unused CI
|
2020-05-07 12:31:52 +02:00 |
|
Christoffer Lerno
|
4a5b57c2d7
|
AST dump cleanup done. Leaving some TODOs.
|
2020-05-07 12:10:49 +02:00 |
|
Christoffer Lerno
|
dbce72146f
|
More AST dumps fixed. Throw simplified by removing "DECL_THROW", which also unearthed a bug.
|
2020-05-07 11:46:16 +02:00 |
|
Christoffer Lerno
|
89ce6064e1
|
Started work on cleaning up dumping the AST. Lots still to do but... Split try expr further and fixed emit of statement.
|
2020-05-06 22:23:53 +02:00 |
|
Christoffer Lerno
|
f62a094f75
|
Simple globals now work correctly, but structs don't.
|
2020-05-05 16:57:11 +02:00 |
|
Christoffer Lerno
|
93bd0fb337
|
Jumping on else added.
|
2020-05-05 11:28:49 +02:00 |
|
Christoffer Lerno
|
982b663f2c
|
Updated "what's missing"
|
2020-05-03 17:19:20 +02:00 |
|
Christoffer Lerno
|
d23c271289
|
Throw/catch works correctly with defer.
|
2020-05-03 16:45:16 +02:00 |
|