[nasm:nasm-2.15.xx] preproc: need to look at mmac->in_progress not mstk->in_progress

nasm-bot for H. Peter Anvin (Intel) hpa at zytor.com
Mon Jun 8 13:33:09 PDT 2020


Commit-ID:  bacf04a3e0bd90a1cd6eee665ec0b8a2b162e408
Gitweb:     http://repo.or.cz/w/nasm.git?a=commitdiff;h=bacf04a3e0bd90a1cd6eee665ec0b8a2b162e408
Author:     H. Peter Anvin (Intel) <hpa at zytor.com>
AuthorDate: Mon, 8 Jun 2020 13:29:06 -0700
Committer:  H. Peter Anvin (Intel) <hpa at zytor.com>
CommitDate: Mon, 8 Jun 2020 13:29:06 -0700

preproc: need to look at mmac->in_progress not mstk->in_progress

mstk.mstk reflects %rep conditions as well as actual expanded
macros. However, in_progress is undefined for %rep loops; we instead
want to look at the underlying mmacro, if there is one.

Discovered trying to compile x264.

Signed-off-by: H. Peter Anvin (Intel) <hpa at zytor.com>


---
 asm/preproc.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/asm/preproc.c b/asm/preproc.c
index 0080432f..0196f487 100644
--- a/asm/preproc.c
+++ b/asm/preproc.c
@@ -6394,8 +6394,9 @@ static Token *pp_tokline(void)
          * condition, in which case we don't want to meddle with
          * anything.
          */
-        if (!defining && !(istk->conds && !emitting(istk->conds->state))
-            && !(istk->mstk.mstk && !istk->mstk.mstk->in_progress)) {
+        if (!defining &&
+            !(istk->conds && !emitting(istk->conds->state)) &&
+            !(istk->mstk.mmac && !istk->mstk.mmac->in_progress)) {
             tline = expand_mmac_params(tline);
         }
 


More information about the Nasm-commits mailing list