arm64: Fix a case of dead code suppression
82_nocode_wanted.c:kb_wait_2_1 was miscompiled on arm64.
This commit is contained in:
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(';');
|
||||||
|
|||||||
Reference in New Issue
Block a user