Mercurial > hg-old > index.cgi
diff lwasm/pseudo.c @ 387:a741d2e4869f
Various bugfixes; fixed lwobjdump to display symbols with unprintable characters more sensibly; start of a (nonfunctional for now) testing framework
author | lost@l-w.ca |
---|---|
date | Wed, 14 Jul 2010 20:15:23 -0600 |
parents | af5f2c51db76 |
children | fbb7bfed8076 |
line wrap: on
line diff
--- a/lwasm/pseudo.c Sun May 16 13:03:17 2010 -0600 +++ b/lwasm/pseudo.c Wed Jul 14 20:15:23 2010 -0600 @@ -657,18 +657,8 @@ return; } - e = lwasm_parse_expr(as, p); - if (!e) - { - lwasm_register_error(as, l, "Bad expression"); - return; - } - if (!lw_expr_istype(e, lw_expr_type_int)) - { - lwasm_register_error(as, l, "Conditions must be constant on pass 1"); - return; - } - if (lw_expr_intval(e) != 0) + e = lwasm_parse_cond(as, p); + if (e && lw_expr_intval(e) != 0) { as -> skipcond = 1; as -> skipcount = 1; @@ -688,18 +678,8 @@ return; } - e = lwasm_parse_expr(as, p); - if (!e) - { - lwasm_register_error(as, l, "Bad expression"); - return; - } - if (!lw_expr_istype(e, lw_expr_type_int)) - { - lwasm_register_error(as, l, "Conditions must be constant on pass 1"); - return; - } - if (lw_expr_intval(e) == 0) + e = lwasm_parse_cond(as, p); + if (e && lw_expr_intval(e) == 0) { as -> skipcond = 1; as -> skipcount = 1; @@ -720,18 +700,8 @@ return; } - e = lwasm_parse_expr(as, p); - if (!e) - { - lwasm_register_error(as, l, "Bad expression"); - return; - } - if (!lw_expr_istype(e, lw_expr_type_int)) - { - lwasm_register_error(as, l, "Conditions must be constant on pass 1"); - return; - } - if (lw_expr_intval(e) <= 0) + e = lwasm_parse_cond(as, p); + if (e && lw_expr_intval(e) <= 0) { as -> skipcond = 1; as -> skipcount = 1; @@ -751,18 +721,8 @@ return; } - e = lwasm_parse_expr(as, p); - if (!e) - { - lwasm_register_error(as, l, "Bad expression"); - return; - } - if (!lw_expr_istype(e, lw_expr_type_int)) - { - lwasm_register_error(as, l, "Conditions must be constant on pass 1"); - return; - } - if (lw_expr_intval(e) < 0) + e = lwasm_parse_cond(as, p); + if (e && lw_expr_intval(e) < 0) { as -> skipcond = 1; as -> skipcount = 1; @@ -782,18 +742,8 @@ return; } - e = lwasm_parse_expr(as, p); - if (!e) - { - lwasm_register_error(as, l, "Bad expression"); - return; - } - if (!lw_expr_istype(e, lw_expr_type_int)) - { - lwasm_register_error(as, l, "Conditions must be constant on pass 1"); - return; - } - if (lw_expr_intval(e) >= 0) + e = lwasm_parse_cond(as, p); + if (e && lw_expr_intval(e) >= 0) { as -> skipcond = 1; as -> skipcount = 1; @@ -813,18 +763,8 @@ return; } - e = lwasm_parse_expr(as, p); - if (!e) - { - lwasm_register_error(as, l, "Bad expression"); - return; - } - if (!lw_expr_istype(e, lw_expr_type_int)) - { - lwasm_register_error(as, l, "Conditions must be constant on pass 1"); - return; - } - if (lw_expr_intval(e) > 0) + e = lwasm_parse_cond(as, p); + if (e && lw_expr_intval(e) > 0) { as -> skipcond = 1; as -> skipcount = 1;