arm64: Fix a case of dead code suppression

82_nocode_wanted.c:kb_wait_2_1 was miscompiled on arm64.
master
Michael Matz 2016-12-13 17:23:02 +01:00
parent f5ae4daa5f
commit b5b12b89a0
1 changed files with 6 additions and 4 deletions

View File

@ -5819,14 +5819,16 @@ static void block(int *bsym, int *csym, int is_expr)
vla_sp_restore();
saved_nocode_wanted = nocode_wanted;
block(&a, &b, 0);
nocode_wanted = saved_nocode_wanted;
skip(TOK_WHILE);
skip('(');
gsym(b);
gexpr();
c = gvtst(0, 0);
if (!nocode_wanted)
gexpr();
if (!nocode_wanted) {
c = gvtst(0, 0);
gsym_addr(c, d);
} else
vtop--;
nocode_wanted = saved_nocode_wanted;
skip(')');
gsym(a);
skip(';');