| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | c: support at least parsing C99 _Complex types | 2026-01-25 | 1 | -3/+6 | |
| | | |||||
| * | some static assertions for packed type sizes | 2025-12-20 | 1 | -0/+1 | |
| | | |||||
| * | create distinct interned string type | 2025-12-15 | 1 | -6/+6 | |
| | | | | | | | | | | | | | | | Interned strings are used pervasively, so it's a good idea to add a layer of type safety to differentiate them from general cstrs and avoid potential bugs from comparing non-interned and interned strings. Not that that's happened so far that I can remember, but it could. I'm 90% sure it's legal to alias `struct {char c;}` pointers with `char` pointers. This specific typedef gives type safety but with a simple one-way `internstr -> const char *` typecast (with `&istr->c`). Converting the other way around is more intentional: a straight up cast `(internstr)cstr` which sticks out as unchecked and probably wrong, or calling the intern(cstr) function, which is the right way. | ||||
| * | c: support forward-declared enums | 2025-12-15 | 1 | -2/+2 | |
| | | | | | This is a common non-standard GNU extension. | ||||
| * | c: accept C99 `[static N]` style array decls, changes to fn quals | 2025-12-11 | 1 | -27/+2 | |
| | | | | | | | Function parameters qualifiers don't matter outside of function definition. `int (const int)` should be compatible with `int(int)` etc. So no need to store them in the typedata. | ||||
| * | c: support for noreturn, and decl parsing cleanup | 2025-12-11 | 1 | -2/+0 | |
| | | |||||
| * | factor type stuff into type.h | 2025-11-16 | 1 | -0/+200 | |