diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-06-14 01:01:25 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-06-14 01:01:25 +0900 |
| commit | e4b01da97ea28ad1c13f848c55c73dc1cc080760 (patch) | |
| tree | 5f631219d3119999d87f52d09e23c9626cd1ab9d | |
| parent | 774703c5d786519052d096449d544081443c511d (diff) | |
| parent | 61032c5ab03ee9d71875b8cb63c7cd5702d56ff7 (diff) | |
| download | mruby-e4b01da97ea28ad1c13f848c55c73dc1cc080760.tar.gz mruby-e4b01da97ea28ad1c13f848c55c73dc1cc080760.zip | |
Merge pull request #2393 from goyox86/fix-clang-analizer-warnings
Fix clang analizer warnings
| -rw-r--r-- | src/backtrace.c | 1 | ||||
| -rw-r--r-- | src/codegen.c | 30 | ||||
| -rw-r--r-- | src/dump.c | 1 | ||||
| -rw-r--r-- | src/parse.y | 6 |
4 files changed, 19 insertions, 19 deletions
diff --git a/src/backtrace.c b/src/backtrace.c index 7768a3206..1e1f9fa1a 100644 --- a/src/backtrace.c +++ b/src/backtrace.c @@ -71,7 +71,6 @@ output_backtrace(mrb_state *mrb, mrb_int ciidx, mrb_code *pc0, output_stream_fun for (i = ciidx; i >= 0; i--) { ci = &mrb->c->cibase[i]; filename = NULL; - lineno = -1; if (!ci->proc) continue; if (MRB_PROC_CFUNC_P(ci->proc)) { diff --git a/src/codegen.c b/src/codegen.c index c7b8e2d74..03c752826 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -475,6 +475,8 @@ new_msym(codegen_scope *s, mrb_sym sym) { size_t i, len; + mrb_assert(s->irep); + len = s->irep->slen; if (len > 256) len = 256; for (i=0; i<len; i++) { @@ -1106,21 +1108,23 @@ readint_mrb_int(codegen_scope *s, const char *p, int base, mrb_bool neg, mrb_boo codegen_error(s, "malformed readint input"); } - if (neg) { - if ((MRB_INT_MIN + n)/base > result) { - *overflow = TRUE; - return 0; + if(base > 0) { + if (neg) { + if ((MRB_INT_MIN + n)/base > result) { + *overflow = TRUE; + return 0; + } + result *= base; + result -= n; } - result *= base; - result -= n; - } - else { - if ((MRB_INT_MAX - n)/base < result) { - *overflow = TRUE; - return 0; + else { + if ((MRB_INT_MAX - n)/base < result) { + *overflow = TRUE; + return 0; + } + result *= base; + result += n; } - result *= base; - result += n; } p++; } diff --git a/src/dump.c b/src/dump.c index 1acb466a0..b820f1a68 100644 --- a/src/dump.c +++ b/src/dump.c @@ -343,7 +343,6 @@ write_section_irep(mrb_state *mrb, mrb_irep *irep, uint8_t *bin) if (result != MRB_DUMP_OK) { return result; } - cur += rsize; section_size += rsize; write_section_irep_header(mrb, section_size, bin); diff --git a/src/parse.y b/src/parse.y index 9841351ea..e88437602 100644 --- a/src/parse.y +++ b/src/parse.y @@ -4243,7 +4243,6 @@ parser_yylex(parser_state *p) return '='; case '<': - last_state = p->lstate; c = nextc(p); if (c == '<' && p->lstate != EXPR_DOT && @@ -4374,7 +4373,7 @@ parser_yylex(parser_state *p) p->lstate = EXPR_VALUE; return '?'; } - token_column = newtok(p); + newtok(p); /* need support UTF-8 if configured */ if ((isalnum(c) || c == '_')) { int c2 = nextc(p); @@ -4538,7 +4537,7 @@ parser_yylex(parser_state *p) is_float = seen_point = seen_e = nondigit = 0; p->lstate = EXPR_END; - token_column = newtok(p); + newtok(p); if (c == '-' || c == '+') { tokadd(p, c); c = nextc(p); @@ -5160,7 +5159,6 @@ parser_yylex(parser_state *p) { int result = 0; - last_state = p->lstate; switch (tok(p)[0]) { case '$': p->lstate = EXPR_END; |
