diff options
author | Charles Crayne <chuck@thor.crayne.org> | 2008-03-26 17:20:21 -0700 |
---|---|---|
committer | Charles Crayne <chuck@thor.crayne.org> | 2008-03-26 17:20:21 -0700 |
commit | 5a7976c925e494bfd0db806c5f5724157236b4e3 (patch) | |
tree | 5736b49fe49e4e17681e5d9c62a62b6b88244116 /parser.c | |
parent | bd45c46cb9e26fe42c449a2b702c3c960df84417 (diff) | |
download | nasm-5a7976c925e494bfd0db806c5f5724157236b4e3.tar.gz nasm-5a7976c925e494bfd0db806c5f5724157236b4e3.tar.bz2 nasm-5a7976c925e494bfd0db806c5f5724157236b4e3.zip |
Restore critical expression checking when optimizer enabled
In the prior code, enabling optimization effectively diabled
critical expression checking, because the optimization passes
took place before checking was enabled.
Diffstat (limited to 'parser.c')
-rw-r--r-- | parser.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -323,7 +323,8 @@ restart_parse: result->opcode == I_RESD || result->opcode == I_RESQ || result->opcode == I_REST || result->opcode == I_RESO || result->opcode == I_EQU || result->opcode == I_INCBIN) { - critical = pass0; + critical = (pass0 < 2 ? 1 : 2); + } else critical = (pass == 2 ? 2 : 0); |