mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-26 22:38:30 +00:00
Integrate upstream chibicc changes
This commit is contained in:
parent
9df2cef4c4
commit
2ed7956be4
2 changed files with 25 additions and 1 deletions
8
third_party/chibicc/codegen.c
vendored
8
third_party/chibicc/codegen.c
vendored
|
@ -342,6 +342,13 @@ void gen_addr(Node *node) {
|
|||
gen_expr(node->lhs);
|
||||
gen_addr(node->rhs);
|
||||
return;
|
||||
case ND_ASSIGN:
|
||||
case ND_COND:
|
||||
if (node->ty->kind == TY_STRUCT || node->ty->kind == TY_UNION) {
|
||||
gen_expr(node);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case ND_MEMBER:
|
||||
gen_addr(node->lhs);
|
||||
if (node->member->offset) {
|
||||
|
@ -358,7 +365,6 @@ void gen_addr(Node *node) {
|
|||
println("\tlea\t%d(%%rbp),%%rax", node->var->offset);
|
||||
return;
|
||||
default:
|
||||
DCHECK(0);
|
||||
error_tok(node->tok, "not an lvalue %d", node->kind);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue