From 38d2e8b9d8dae9680603d66fe51c1b287141bd7e Mon Sep 17 00:00:00 2001 From: bellard Date: Sat, 28 Oct 2006 14:10:07 +0000 Subject: [PATCH] Bug fix: A long long value used as a test expression ignores the upper 32 bits at runtime (Dave Dodge) --- i386-gen.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/i386-gen.c b/i386-gen.c index b1024a7..77505d7 100644 --- a/i386-gen.c +++ b/i386-gen.c @@ -600,7 +600,8 @@ int gtst(int inv, int t) gsym(vtop->c.i); } } else { - if (is_float(vtop->type.t)) { + if (is_float(vtop->type.t) || + (vtop->type.t & VT_BTYPE) == VT_LLONG) { vpushi(0); gen_op(TOK_NE); }