summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin (Intel) <hpa@zytor.com>2020-06-08 13:29:06 -0700
committerH. Peter Anvin (Intel) <hpa@zytor.com>2020-06-08 13:29:06 -0700
commitbacf04a3e0bd90a1cd6eee665ec0b8a2b162e408 (patch)
treeae665bf8da83b17ae920e9273da0f573a315fa07
parentae0e50c49168852275d26f4e489be9ba7c2a1240 (diff)
downloadnasm-bacf04a3e0bd90a1cd6eee665ec0b8a2b162e408.tar.gz
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@zytor.com>
-rw-r--r--asm/preproc.c5
1 files 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);
}