forked from Mirrors/tinycc
arm64: Fix a case of dead code suppression
82_nocode_wanted.c:kb_wait_2_1 was miscompiled on arm64.master
parent
f5ae4daa5f
commit
b5b12b89a0
10
tccgen.c
10
tccgen.c
|
@ -5819,14 +5819,16 @@ static void block(int *bsym, int *csym, int is_expr)
|
||||||
vla_sp_restore();
|
vla_sp_restore();
|
||||||
saved_nocode_wanted = nocode_wanted;
|
saved_nocode_wanted = nocode_wanted;
|
||||||
block(&a, &b, 0);
|
block(&a, &b, 0);
|
||||||
nocode_wanted = saved_nocode_wanted;
|
|
||||||
skip(TOK_WHILE);
|
skip(TOK_WHILE);
|
||||||
skip('(');
|
skip('(');
|
||||||
gsym(b);
|
gsym(b);
|
||||||
gexpr();
|
gexpr();
|
||||||
c = gvtst(0, 0);
|
if (!nocode_wanted) {
|
||||||
if (!nocode_wanted)
|
c = gvtst(0, 0);
|
||||||
gsym_addr(c, d);
|
gsym_addr(c, d);
|
||||||
|
} else
|
||||||
|
vtop--;
|
||||||
|
nocode_wanted = saved_nocode_wanted;
|
||||||
skip(')');
|
skip(')');
|
||||||
gsym(a);
|
gsym(a);
|
||||||
skip(';');
|
skip(';');
|
||||||
|
|
Loading…
Reference in New Issue