From b5b12b89a0342308747f956d04ecd7015b2d6d8b Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Tue, 13 Dec 2016 17:23:02 +0100 Subject: [PATCH] arm64: Fix a case of dead code suppression 82_nocode_wanted.c:kb_wait_2_1 was miscompiled on arm64. --- tccgen.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tccgen.c b/tccgen.c index a411e8f..f6c7700 100644 --- a/tccgen.c +++ b/tccgen.c @@ -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(';');