Christoffer Lerno
|
49eacb8824
|
More support for test. Panic function update.
|
2022-11-14 11:48:12 +01:00 |
|
Christoffer Lerno
|
9a3e7fd34b
|
Add the ability to build static libraries. Bump version to 0.3.18
|
2022-08-16 09:11:02 +02:00 |
|
Christoffer Lerno
|
b1d83e2ccd
|
Auto-import std::core. Fix module assignment of declarations. Introspection improvements. Deref null error panics in safe mode. Support for LLVM 15
|
2022-06-29 21:57:35 +02:00 |
|
Christoffer Lerno
|
2f5d51c92c
|
Attempt to add more native file handling for MSVC (#459)
* Fix clean and update MSVC function calls.
|
2022-06-04 21:32:35 +02:00 |
|
Christoffer Lerno
|
60d7c8aa14
|
Add timings.
|
2022-03-12 02:35:07 +01:00 |
|
Christoffer Lerno
|
3450016978
|
This adds the ability to list keywords, operators etc. implementing #350.
|
2022-01-19 13:11:12 +01:00 |
|
Christoffer Lerno
|
06d3bc8915
|
Release symtab after use.
|
2021-12-29 13:34:36 +01:00 |
|
Christoffer Lerno
|
dee0199f10
|
Add compiler options to simplify external tool usage.
|
2021-12-19 16:25:48 +01:00 |
|
Christoffer Lerno
|
1bb9c2d249
|
Allow the compiler to be called multiple times (while leaking)
|
2021-12-02 22:50:38 +01:00 |
|
C34A
|
5dea48101f
|
MSVC compatibility
|
2021-10-19 13:04:17 +02:00 |
|
Christoffer Lerno
|
89d831fc18
|
Remove debug printout unless explicitly required. Add compile-only option.
|
2021-07-19 14:10:31 +02:00 |
|
Christoffer Lerno
|
12ef7b2e66
|
Pick double / long double depending on availability.
|
2021-07-16 20:39:49 +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
|
1f676c135c
|
Removed func and rewrote typedefs.
|
2021-05-23 13:16:48 +02:00 |
|
Christoffer Lerno
|
87a91b25e5
|
Add --version and -V
|
2021-05-15 03:23:31 +02:00 |
|
Christoffer Lerno
|
c6f671a6ca
|
A bit more global...
|
2021-04-29 22:44:00 +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
|
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
|
954a90dae3
|
Fix of arch target. Experimental linker support.
|
2021-04-09 18:47:41 +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
|
29730345b0
|
Moving llvm-emit / debug output separately. Started work on C headers. Started work getting packed unions and structs to work correctly. Also added some unfinished PIC code.
|
2020-11-27 23:43:39 +01: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
|
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
|
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
|
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
|
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
|
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
|
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 |
|
Christoffer Lerno
|
e229d19b7c
|
Updated the command line parsing a little bit, as well as the README.
|
2019-07-24 14:24:07 +02:00 |
|
Christoffer Lerno
|
bd7c743e93
|
Updated project structure. Updated README.
|
2019-07-15 16:38:31 +02:00 |
|