From 50c5ec912450119a6f2e787d1f9d271f8dfcc020 Mon Sep 17 00:00:00 2001 From: ceriel Date: Wed, 22 Jul 1987 09:21:00 +0000 Subject: [PATCH] fixed a bug: constant sets were not handled right on 4-byte machines --- lang/pc/pem/Makefile | 2 +- lang/pc/pem/pem.p | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/pc/pem/Makefile b/lang/pc/pem/Makefile index c0b088fa..768a0858 100644 --- a/lang/pc/pem/Makefile +++ b/lang/pc/pem/Makefile @@ -21,7 +21,7 @@ pem.out: pem.m apc -mint --t -o pem.out pem.m pem: pem.m - $(APC) $(LDFLAG) -o pem pem.m + $(APC) $(LDFLAG) -O -o pem pem.m # pem.m is system dependent and may NOT be distributed pem.m: pem.p $(HEAD) diff --git a/lang/pc/pem/pem.p b/lang/pc/pem/pem.p index d76cc8dd..af5ff848 100644 --- a/lang/pc/pem/pem.p +++ b/lang/pc/pem/pem.p @@ -2466,7 +2466,7 @@ begin if j = i+1 then argcst(setcode(cstpart[j])) else begin - if j = i+2 then put1(sp_cst2) + if (j = i+2) and ((sz_word <= 2) or not (MB1 in cstpart[j])) then put1(sp_cst2) else begin j:=i+4; put1(sp_cst4) end; for j:=i+1 to j do put1(setcode(cstpart[j])) end;