c2compiler
c2compiler copied to clipboard
the c2 programming language
Includes all of defer. Also changes C code to always output { } even for simple if, while etc. This simplifies defer code generation. Tracking defer adds several parts to...
I wanted to try out c2 and went ahead and tried to build right away. Well, this is unfortunately what happened: ``` [email protected] ~/W/g/c/out $ cmake .. -G Ninja -DCMAKE_CXX_COMPILER="/usr/local/opt/llvm/bin/clang++"...
The following code gives an error, even though it's correct: ``` type Foo i32; type Bar enum Foo { Baz } ``` This is due to C2C disallowing any alias...
This is related to #100 which usually occurs together with STL usage. In my research std::unordered_map/std::map are not very efficient for the special cases we want to use them for....
C2 currently supports function pointer types through aliasing: ``` type HandlerFunc func bool(char*); func void passHello(HandlerFunc handler) { handler("hello"); } ``` This is great, and it's a big improvement over...
Does anyone see issues with the current .clang-format file?
Struct, Enum, Function and ModuleType is missing debug descriptions. I think @bvdberg is best suited to decide what should go into those.
This code is accepted by the analyser but is not valid C. a = argc + 1 = 1;
There are basically two possible approaches for C2: 1. Distinguish between integer types, so that an integer constant may have a specific bit width. In order to affect this we...
Literal parsing currently has vestiges of Clang C parsing. Remove those according to the simplified requirements of C2 (only maxfloat type / bigint)