Thiago Adams
Thiago Adams
Cakes uses a simplification and don't expand some recursive macros. This was fine for most of normal usage. But here is a "normal" sample where cake fails. ```c #define COLOR_ESC(x)...
```c int main(){ int a; _Generic(a, int : 1, int : 1); } ``` Should be an error.
```c int * owner p = .. p++; //must be an error. ```
_Pragma is not implemented yet
I think it would be nice to have a warning if enumerations have duplicate enumerators value. ```c enum E{ A = 1, B = 1 }; int main(){} ```
```c void f(int i){} int main() { f((void*)0); } ```
```c int main () { auto result = (struct X {int i;}){ 1 }; } ``` The generated code does not work. The struct must be re-declared. ```c int main...
```c #include #include #include #include struct X { char * owner s; }; void destroy(struct X * obj_owner p) {free(p->s);} void f1(){ struct X x = {0}; struct X* p...
After calling f0 the must be not null (with -nullchecks) and it is maybe-null. ```c void f0(int * p){} void f(int * p) { static_debug(p); f0(p); static_debug(p); } ```
for this sample ```c void f(int i) { defer {static int k = 0;} if (i > 5) return; return; } ``` cake is generating ```c void f(int i) {...