aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog5
-rw-r--r--src/interp/c-util.boot3
2 files changed, 7 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index cf8babc3..fdc8c734 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,10 @@
2010-06-21 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * interp/c-util.boot (middleEndExpand): Give it another macro
+ expansion pass after new opcode expansion.
+
+2010-06-21 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* interp/nlib.lisp (COMPILE-LIB-FILE): Rework. Halt compilation
if generated is malformed or contains serious warnings.
* algebra/pfo.spad.pamphlet (PointsOfFiniteOrder) [cmult]: Merge
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index d3ed9926..ab80ac63 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -1104,7 +1104,8 @@ middleEndExpand x ==
IDENTP x and (x' := x has %Rename) => x'
isAtomicForm x => x
[op,:args] := x
- IDENTP op and (fun := getOpcodeExpander op) => apply(fun,x,nil)
+ IDENTP op and (fun := getOpcodeExpander op) =>
+ middleEndExpand apply(fun,x,nil)
op in $middleEndMacroList =>
middleEndExpand MACROEXPAND_-1 x
a := middleEndExpand op