| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
For example in
```c
struct {int a; union { int b,c; }; int d; } X = {1,2,3};
```
Fields `a`,`b`,`d` must get initialized to 1,2,3. Not `c`
|
| |
|
|
|
| |
The original implementation was broken when presented with nested
short-circuiting logical operators.
|
| | |
|
| |
|
|
|
|
| |
Reverts 9abe27f6712. This simplies expr codegen, otherwise
would manually have to check `fn->curblk != NULL` repeatedly.
Later passes will easily delete those unreachable blocks
|
| |
|
|
|
| |
compiler is bootstrapping?! however, stage1 and stage2+ executables
aren't bit-identical.. small differences in the codegen.. need to look into that
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
when necesary
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
calls), compileexpr() can terminate current block. add checks for that in callexpr. more are probably needed..
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
intermediate load
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
instead for now)
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|