diff options
| -rw-r--r-- | lcode.c | 6 |
1 files changed, 4 insertions, 2 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lcode.c,v 2.20 2005/10/24 17:37:52 roberto Exp roberto $ | 2 | ** $Id: lcode.c,v 2.21 2005/11/08 19:44:31 roberto Exp roberto $ |
| 3 | ** Code generator for Lua | 3 | ** Code generator for Lua |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -639,7 +639,9 @@ static int constfolding (OpCode op, expdesc *e1, expdesc *e2) { | |||
| 639 | case OP_DIV: | 639 | case OP_DIV: |
| 640 | if (v2 == 0) return 0; /* do not attempt to divide by 0 */ | 640 | if (v2 == 0) return 0; /* do not attempt to divide by 0 */ |
| 641 | r = luai_numdiv(v1, v2); break; | 641 | r = luai_numdiv(v1, v2); break; |
| 642 | case OP_MOD: r = luai_nummod(v1, v2); break; | 642 | case OP_MOD: |
| 643 | if (v2 == 0) return 0; /* do not attempt to divide by 0 */ | ||
| 644 | r = luai_nummod(v1, v2); break; | ||
| 643 | case OP_POW: r = luai_numpow(v1, v2); break; | 645 | case OP_POW: r = luai_numpow(v1, v2); break; |
| 644 | case OP_UNM: r = luai_numunm(v1); break; | 646 | case OP_UNM: r = luai_numunm(v1); break; |
| 645 | case OP_LEN: return 0; /* no constant folding for 'len' */ | 647 | case OP_LEN: return 0; /* no constant folding for 'len' */ |
