| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | c: static eval refactoring | 2026-03-14 | 1 | -194/+265 | |
| | | | | | | Explicit node for static symbol (addresses). Should not break with edge cases like the previous ad-hoc approach. And some other bugfixes | ||||
| * | c: relax constexpr constraints, fix alignof | 2026-03-09 | 1 | -12/+23 | |
| | | | | | | | | | | | | | - Allow short-circuiting of constant logical expressions where the unevaluated operand is not a constant expression (`1 || 0/0`) - Allow constant integer expressions that evaluate to zero to be used as null pointer constants (GNU extension). + According to the standard, `int *x = 5*0;` should be rejected. But compilers evaluate `5*0 -> 0` and allow it as if a null pointer literal. | ||||
| * | c: do not try to eval conditional expression's not taken branch | 2026-03-05 | 1 | -2/+0 | |
| | | |||||
| * | c: static intializer bugfix introduced in6c3f1593e9 | 2026-02-28 | 1 | -0/+1 | |
| | | |||||
| * | c: allow casting of symbol address to intptr_t in static initializers | 2026-02-25 | 1 | -1/+2 | |
| | | |||||
| * | c: support at least parsing C99 _Complex types | 2026-01-25 | 1 | -1/+1 | |
| | | |||||
| * | c: SYM expr should store decl ref as an index, not pointer | 2025-12-30 | 1 | -1/+1 | |
| | | | | | | | | | Because envdecls (now declsbuf) can be resized and invalidate those pointers. I missed this because the default initialization size of that buffer (and the fact that it would mostly only manifest with function-local expressions) made it not really come up in practice. Silly | ||||
| * | eval: long double placeholder | 2025-12-14 | 1 | -1/+2 | |
| | | |||||
| * | c: handle more static eval edgecases for int -> ptr | 2025-12-13 | 1 | -4/+19 | |
| | | | | | | sqlite3 was falling back to `((void*)&((char*)0)[X])` for INT_TO_PTR, which this handles now. | ||||
| * | eval: &*x address constants | 2025-12-08 | 1 | -0/+4 | |
| | | |||||
| * | eval: fix float cmps | 2025-12-05 | 1 | -0/+2 | |
| | | |||||
| * | c: more static initializer fixes | 2025-11-26 | 1 | -0/+2 | |
| | | |||||
| * | c: fix static eval for address of some array refs | 2025-11-22 | 1 | -1/+4 | |
| | | |||||
| * | eval: fix enum edge case | 2025-11-19 | 1 | -2/+2 | |
| | | |||||
| * | eval: fix b0c0f2d2d885 for ptr convertible | 2025-11-19 | 1 | -1/+1 | |
| | | |||||
| * | eval: only isaddrconst for ptrs | 2025-11-16 | 1 | -1/+1 | |
| | | |||||
| * | amd64: fix aggregate abi stuff;; ir: fold, peephole optimizing constructors | 2025-11-05 | 1 | -2/+4 | |
| | | |||||
| * | c erratas | 2025-10-23 | 1 | -1/+1 | |
| | | |||||
| * | eval: fix indexing string literal | 2025-10-23 | 1 | -2/+2 | |
| | | |||||
| * | c irgen fixes | 2025-10-19 | 1 | -6/+14 | |
| | | |||||
| * | Organize source files into directories | 2025-10-19 | 1 | -0/+316 | |