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
|
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 |
|
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
|
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
|
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
|
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
|
d23c271289
|
Throw/catch works correctly with defer.
|
2020-05-03 16:45:16 +02:00 |
|
Christoffer Lerno
|
333b3df47d
|
Add use of variable.
|
2020-05-03 02:12:14 +02:00 |
|
Christoffer Lerno
|
d8423eff56
|
Fix space at end of file.
|
2020-05-03 02:08:33 +02:00 |
|
Christoffer Lerno
|
373001fd12
|
Error -> errset (temporarily). Catch / throw now works, but it will not yet correctly handle defer.
|
2020-05-03 02:04:13 +02:00 |
|
Christoffer Lerno
|
78aa49cc0e
|
Work on getting typeof up and running. Try-else now works.
|
2020-04-22 20:19:55 +02:00 |
|
Christoffer Lerno
|
8e80091da4
|
Create CI
|
2020-04-22 16:07:42 +02:00 |
|
Christoffer Lerno
|
df0433d746
|
Fix fallthrough case handling.
|
2020-04-18 23:55:53 +02:00 |
|
Christoffer Lerno
|
982a9e7b58
|
Minor cleanup
|
2020-04-18 22:23:42 +02:00 |
|
Christoffer Lerno
|
6da6b0f571
|
Compound literal works properly.
|
2020-04-18 14:29:17 +02:00 |
|
Christoffer Lerno
|
2c573c8a15
|
Fixed accidental uses of global context.
|
2020-04-18 14:29:17 +02:00 |
|
Christoffer Lerno
|
6117a1be7c
|
Lots of fixes and optimizations to structs. Now there are no unnecessary intermediary types.
|
2020-04-18 14:29:17 +02:00 |
|
Christoffer Lerno
|
ff31bd17c0
|
Improved error messages for initializers. Array initializers work.
|
2020-04-18 14:29:17 +02:00 |
|
Christoffer Lerno
|
1d73338fb0
|
Order of function resolution is different. Function prototypes resolved first. Same with LLVM gen. Designated initializer and anonymous fields fixed mostly.
|
2020-04-12 21:35:25 +02:00 |
|
Christoffer Lerno
|
f5dd5bf203
|
Support named parameters, default parameters and varargs.
|
2020-04-09 16:48:38 +02:00 |
|
Christoffer Lerno
|
50c3604dd2
|
Fixed variadic error. Fixed incorrect token type on decimal numbers(!)
|
2020-04-09 15:08:48 +02:00 |
|
Christoffer Lerno
|
7392b453a3
|
Work on unions and anonymous structs/unions.
|
2020-04-09 13:49:51 +02:00 |
|
Christoffer Lerno
|
f53b378b0c
|
Adding trap on debug builds.
|
2020-04-09 13:47:23 +02:00 |
|
Christoffer Lerno
|
bb806716e4
|
Unions and structs, including setting them should now work.
|
2020-04-08 21:59:10 +02:00 |
|
Christoffer Lerno
|
96c8c77e89
|
Work on unions and anonymous structs/unions.
|
2020-04-06 23:48:51 +02:00 |
|
Christoffer Lerno
|
400c38b95b
|
Use correct sizes and alignments. Fix designated initializers and literals. Added todo
|
2020-04-06 13:45:58 +02:00 |
|
Christoffer Lerno
|
60c60a3205
|
Enum fixes
|
2020-04-05 11:31:05 +02:00 |
|
Christoffer Lerno
|
336e6cf47d
|
Type cleanup
|
2020-04-04 01:35:20 +02:00 |
|
Christoffer Lerno
|
bbef467317
|
Codegen of enum and error
|
2020-04-04 01:28:15 +02:00 |
|
Christoffer Lerno
|
bb2aa6e27a
|
Fixup of enum types.
|
2020-04-03 22:00:00 +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
|
b1aa64cdcc
|
TypeInfo gained a span. Hex lexing fixed. Basic block returns fixed. Removal of Ast.exit. Enum parameter list parses. Enum analysis improved. Exit deduction improved. Switch over a bool allowed. Switch analysis improved. Added -% operator. Updated implicit casts. Use of bigint. Signed-unsigned comparisons.
|
2020-03-29 17:41:31 +02:00 |
|