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

After #551, I've found the following example of broken behavior: ``` int main(void) { struct foo { int x; } bar; bar.x = 42; // Type Cesium.CodeGen.Ir.Types.StructType was not found....

kind:bug
area:compiler
status:blocked

## The Problem Real-world Cesium users will inevitably encounter a range of problems involving interop with native code. 1. They might want to convert their existing programs to Cesium file...

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

In #354, we've introduced `FuncPtr` interop: C code may call .NET Core and pass function pointers in the positions when `FuncPtr` is expected. Currently, we are limited to 16 parameters...

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

Currently, our preprocessor only generates text output without the mapping of the code to the original source code. This blocks us from implementing proper error reporting at further compilation stages....

kind:feature
area:preprocessor

The section **6.10 Preprocessing directives** of the C standard defines the requirements to the C preprocessor. We should fulfill them. ## TODO - [ ] #525 - [x] #538 -...

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

I think that it would be fun to have `long long` of size 128 bit. .NET 7 includes `System.Int128`. Let's consider making `long long` as `Int128` on .NET 7? Perhaps...

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

See the section **6.10.4.1 Argument substitution** of the C standard on notes about the `__VA_ARGS__` substitution. See `TODO[#542]` in the code to see where the work may be needed.

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

Besides `__VA_ARGS__`, one of the recent C standards also introduced `__VA_OPT__`. Cesium should support that, of course.

kind:feature
status:help-wanted
area:preprocessor

See https://github.com/cplusplus/papers/issues/700 TL;DR: It allows to include any external binary data into your executable. see also @ThePhD 's blog posts about this: https://thephd.dev/embed-the-details ; https://thephd.dev/finally-embed-in-c23 and their test library for...

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

There's a problem: if we compile to `AnyCPU`, then we cannot generally determine `sizeof(void*)`, which has to be a constant expression, according to the standard. Same about, say, `size_t` or...

kind:feature
area:cil-interop
area:standard-support
area:compiler