From fdb3b10d0693cf33ce5a0acf17f0f323d79ee5f1 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Sat, 8 Mar 2014 18:36:02 +0800 Subject: [PATCH] Fix various errors uncovered by static analysis Reported-by: Carlos Montiers --- c67-gen.c | 2 -- tccgen.c | 1 - tccpp.c | 2 +- x86_64-gen.c | 2 +- 4 files changed, 2 insertions(+), 5 deletions(-) diff --git a/c67-gen.c b/c67-gen.c index f2baea53..6d9068af 100644 --- a/c67-gen.c +++ b/c67-gen.c @@ -1901,8 +1901,6 @@ void gfunc_call(int nb_args) for (i = 0; i < nb_args; i++) { if ((vtop->type.t & VT_BTYPE) == VT_STRUCT) { ALWAYS_ASSERT(FALSE); - } else if ((vtop->type.t & VT_BTYPE) == VT_STRUCT) { - ALWAYS_ASSERT(FALSE); } else { /* simple type (currently always same size) */ /* XXX: implicit cast ? */ diff --git a/tccgen.c b/tccgen.c index 2f5b3665..d8e4614e 100644 --- a/tccgen.c +++ b/tccgen.c @@ -162,7 +162,6 @@ ST_FUNC Sym *sym_push2(Sym **ps, int v, int t, long c) tcc_error("incompatible types for redefinition of '%s'", get_tok_str(v, NULL)); } - s = *ps; s = sym_malloc(); s->asm_label = NULL; s->v = v; diff --git a/tccpp.c b/tccpp.c index e1ccded7..b12b120f 100644 --- a/tccpp.c +++ b/tccpp.c @@ -276,7 +276,7 @@ ST_FUNC char *get_tok_str(int v, CValue *cv) #ifdef _WIN32 sprintf(p, "%u", (unsigned)cv->ull); #else - sprintf(p, "%Lu", cv->ull); + sprintf(p, "%llu", cv->ull); #endif break; case TOK_LCHAR: diff --git a/x86_64-gen.c b/x86_64-gen.c index 407bd968..fc4178ec 100644 --- a/x86_64-gen.c +++ b/x86_64-gen.c @@ -501,7 +501,7 @@ void load(int r, SValue *sv) o(0xc0 + REG_VALUE(v) + REG_VALUE(r)*8); } } else if (r == TREG_ST0) { - assert((v >= TREG_XMM0) || (v <= TREG_XMM7)); + assert((v >= TREG_XMM0) && (v <= TREG_XMM7)); /* gen_cvt_ftof(VT_LDOUBLE); */ /* movsd %xmmN,-0x10(%rsp) */ o(0x110ff2);