Andrii Kurdiumov
Andrii Kurdiumov
https://github.com/dotnet/runtime/issues/10478 that's not possible today, even if it would be possible in the future. So plan would be to mimic this. I think we can pass variadic arguments as `object[]`...
I do find some interesting sample which definitely will complicate our life. ```c #include #include void function1(char* s, ...) { va_list ap; int tmp; va_start(ap, s); tmp = va_arg(ap, int);...
I would say we need a switch to support old scenario.
Basically what I propose is instead of `int IType.SizeInBytes` have `IExpression IType.GetSizeInBytes()` function or property. If paired with constant folding, we have same IL as today, and we can have...
Can you update this issue with implemented features
What kind of code trigger this code path? What test do we need for this ?
I agree with @impworks There some points also very important for me - This level knows nothing about .NET type system and only operates on types defined in the C...
That's currently proposed pipeline, with reuse of existing infrastructure. ```mermaid graph TD; Preprocessor(Preprocess code) Lexems(Lexems split) SyntaxTree(Syntax tree building) BasicBlock(Basic block extraction) StatementLinearization(Statement linearization) ConstantFolding(Fold constants) Lowering(Convert syntax tree to...
> I think we should follow the standard I think we have problem with this. Consider error reporting in case of `#include` usage. Even now we miss important information about...
I believe rely on `cpp` as evidence how we should implement preprocessor is bad for developers. Consider this experiment.c file ```c #define MAIN printf("HELLO") int main(void) { MAIN } ```...