Cesium icon indicating copy to clipboard operation
Cesium copied to clipboard

C compiler for the CLI platform

Results 100 Cesium issues
Sort by recently updated
recently updated
newest added

When storing two literals, `"bar"` and `"foobar"`, the compiler may optimize them to save space in the binary: only store `"foobar"` and point `"bar"` pointer to the middle of the...

kind:feature
status:help-wanted
area:cil-interop
good-first-issue
hacktoberfest

From #157: > Current implementation is inefficient for constants. For example, `1 + 'b'` gives the following: > > ``` > IL_0000: ldc.i4 1 > IL_0005: ldc.i4 98 > IL_000a:...

kind:feature
status:help-wanted
area:cil-interop
area:compiler

It should be possible to use indirection operator (`*`): - with pointers to structs ```c foo x; foo *y = x; foo z = *y; ``` - with function pointers....

kind:feature
status:help-wanted
area:compiler

We have a bunch of integration tests marked as `ignored`. We'll need to figure out how to unignore them (obviously, we'll need to fix them beforehand).

kind:feature
status:help-wanted
area:compiler

I think we should make decision about what unspecified sign means for primitive types. Do we have to distinguish between `int` and `signed int` and 'signed'? https://github.com/ForNeVeR/Cesium/blob/8f22da755f43bd379f0ef665c7ffe9e5d0f98e72/Cesium.CodeGen/Ir/Types/PrimitiveType.cs#L14-L15 https://github.com/ForNeVeR/Cesium/blob/8f22da755f43bd379f0ef665c7ffe9e5d0f98e72/Cesium.CodeGen/Ir/Types/PrimitiveType.cs#L33-L35

kind:feature
status:help-wanted
area:standard-support

Look for the number `223` in the code to find clues to implement this feature.

kind:feature
status:help-wanted
area:compiler

As of now, Yoakke parses identifiers of any length. Though, there are rumors that identifiers of certain lengths shouldn't be allowed. This should be investigated and a decision should be...

area:standard-support
area:parser

As of now, we don't support something defined as a "non-empty declaration list for a function". It's unclear what this is, but maybe something like this? ```c int foo(int), bar(int);...

kind:feature
status:help-wanted
area:compiler

Eventually, something like this should be supported: ```c int foo(void) { return 0; } int bar(void) { return 1; } int res = (true ? foo : bar)(); ``` Look...

kind:feature
status:help-wanted
area:compiler

Look for the number `226` in the code to find clues to implement this feature. Depends on: - [ ] #207

kind:feature
area:compiler
status:blocked