[Nasm-bugs] [Bug 3392375] error parse labels accross current line of code

no-reply at bugzilla-nasm.gorcunov.org no-reply at bugzilla-nasm.gorcunov.org
Mon Nov 28 12:54:38 PST 2016


https://bugzilla.nasm.us/show_bug.cgi?id=3392375

--- Comment #6 from Cyrill Gorcunov <gorcunov at gmail.com> ---
There is a suspicious moment:

    for (; vect->type; vect++) {
        if (!vect->value)       /* zero term, safe to ignore */
            continue;

        if (vect->type < EXPR_SIMPLE)  /* false if a register is present */
            return -1;

        if (vect->type == EXPR_UNKNOWN) /* something we can't resolve yet */
            return 0;

EXPR_SIMPLE > EXPR_UNKNOWN, thus EXPR_UNKNOWN never hit. SHould it be
---
[cyrill at uranus nasm.git] git diff
diff --git a/asm/parser.c b/asm/parser.c
index a20ef94..36a9a59 100644
--- a/asm/parser.c
+++ b/asm/parser.c
@@ -390,7 +390,7 @@ static int value_to_extop(expr * vect, extop *eop, int32_t
myseg)
         if (!vect->value)       /* zero term, safe to ignore */
             continue;

-        if (vect->type < EXPR_SIMPLE)  /* false if a register is present */
+        if (vect->type < EXPR_UNKNOWN)  /* false if a register is present */
             return -1;

         if (vect->type == EXPR_UNKNOWN) /* something we can't resolve yet */

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are watching all bug changes.


More information about the Nasm-bugs mailing list