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

Currently, we have a suite of integration tests (all run in parallel) and several .NET interop tests (C# + C), running sequentially. We should somehow make them all run in...

status:help-wanted
kind:refactor
area:infrastructure

See this code: https://github.com/ForNeVeR/Cesium/blob/baff13b0401dac42eaf95e89889129081d390e2f/Cesium.Runtime/StdIoFunctions.cs#L219-L227 `varargs` is casted to a pointer to `nint` or `nuint`. These types have different sizes on different platforms, while our current `vararg` convention is that we...

kind:bug
status:help-wanted
area:stdlib

After #356, Cesium now supports `FuncPtr` interop: you can pass a C function pointer to a .NET method that has `FuncPtr` in its signature. We should check the signatures of...

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

Since we are starting to allocate persistent data that may outlive the runtime (see #478), it's time to discuss our cleanup policy. I propose that we should try to support...

status:help-wanted
area:stdlib

Currently, `PrimitiveType.cs` has the following code: ```csharp internal static readonly Dictionary Opcodes = new() { { PrimitiveTypeKind.Char, (OpCodes.Ldind_I1, OpCodes.Stind_I1) }, { PrimitiveTypeKind.SignedChar, (OpCodes.Ldind_I1, OpCodes.Stind_I1) }, { PrimitiveTypeKind.UnsignedChar, (OpCodes.Ldind_U1, OpCodes.Stind_I1) },...

kind:bug
status:help-wanted
area:compiler
good-first-issue

Right now, this doesn't seem to compile: ```c int foo(int) { return 0; } typedef int foo_t(int); foo_t v = foo; ``` This should work the same as `foo_t v...

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

I cannot explain better, but `Code does not terminate` does not increase my confidence. ``` kant@gentoo ~/d/Cesium $ dotnet test Determining projects to restore... All projects are up-to-date for restore....

kind:bug
status:help-wanted
area:compiler

Currently for each vararg parameter allocated 8 bytes. That's expensive and at the same time disallow passing structs inside functions with varargs. We need allocate exact number of bytes required...

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

After #397, adding a variable in a block is handled by `BlockScope::AddVariable`. It handles `static` variables specifically: by passing them to the parent. We'll need to add (and probably fix)...

kind:feature
status:help-wanted
area:compiler
good-first-issue

We should fully implement the following section of the C standard: - [ ] 6.8 Statements and blocks: - [ ] 6.8.1 Labeled statements - [x] 6.8.2 Compound statement -...

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