Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-04-02 | map: Use simpler fnv-1a hash function | Michael Forney | |
2024-03-24 | map: Use separately allocated struct map | Michael Forney | |
2022-11-26 | Move kind-specific decl fields to union | Michael Forney | |
2021-11-25 | Add __builtin_unreachable stub | Michael Forney | |
2021-09-04 | Use architecture-specific va_list type | Michael Forney | |
Previously, cproc effectively used used typedef struct { /* 32 bytes, 8-byte aligned */ } __builtin_va_list[1]; However, this is not quite correct for x86_64 nor aarch64, though it was close enough for both to work in most cases. In actuality, for x86_64 we want typedef struct { /* 24 bytes, 8-byte aligned */ } __builtin_va_list[1]; and for aarch64 we want typedef struct { /* 32 bytes, 8-byte aligned */ } __builtin_va_list; The difference only appears when the size of va_list matters, or when va_list is passed as a parameter. However, the former is not often the case, and the aarch64 ABI replaces aggregate arguments with pointers to caller-allocated memory, which is quite similar to arrays decaying to pointers in C except that the struct is not copied. Additionally, riscv64 simply uses typedef void *__builtin_va_list; which again has a different size and calling convention. To fix this, make the __builtin_va_list type architecture-specific and use architecture-specific tests for varargs-related functionality. | |||
2019-07-03 | Implement no-op __builtin_expect | Michael Forney | |
2019-04-17 | Merge map.h and tree.h into util.h | Michael Forney | |
2019-04-17 | Just use a single mapkey function | Michael Forney | |
2019-04-17 | htab -> map | Michael Forney | |
2019-04-16 | Implement __builtin_types_compatible_p | Michael Forney | |
This is used by util-linux. | |||
2019-04-04 | Merge headers into cc.h | Michael Forney | |
2019-03-14 | Abbreviate tag names | Michael Forney | |
2019-03-12 | Implement __builtin_constant_p | Michael Forney | |
2019-03-12 | Sort built-ins | Michael Forney | |
2019-02-22 | Implement __builtin_nanf for empty string literals | Michael Forney | |
2019-02-22 | Implement __builtin_inff | Michael Forney | |
2019-02-22 | Keep track of built-in kind in declaration | Michael Forney | |
Also, populate filescope with builtins outside of main. | |||
2019-02-12 | Initial import | Michael Forney | |