Wolfgang Bumiller
Wolfgang Bumiller
Reminder: We came to the conclusion to reserve a namespace named `reserved`. This rids us of messes like C11's names (`_Alignof` vs `sizeof` vs reserving names starting with 2 underscores......
How should we handle fields declared in namespace outside of `-std=gmqcc`? Should we warn? Are they then only visible inside the namespace?
I think this might even be used in hexen2. Not sure though.
Partially implemented now. For side-effects only. There may be places where ast node data is later modified and the weight is not properly updated. This will probably require some complete...
About typechecking: ``` C void takestrings(string...) { /* stuff */ } void myfunc(...) { /* code */ takestrings(...(n)); // This should error unless -fpermissive takestrings(...(n, string...)); // tells the compiler...
Recursion issue: ``` C void foo(...) { foo(1, ...(0)); } ``` This essentially requires an infinite amount of parameters, so we'll need a hard upper bound of possible varargs which...
Actually the functiondef copies the name from the generated global, so this already happens. Instead we need an option to keep both builtin defs.
`-std=gmqcc` should allow it by default (or `-fvariadic-args`)
There could be syntactic sugar for `if (typeid(a) == typeid(b))` - like: `if (e istype EntityList)` or `if (e istype another_e)`
Exactly, you define the type at a global level: ``` C struct StructName { contents; }; ``` and that's it, and that's the only form we should have. `StructName` becomes...