Index: M3CBackEnd_C.m3 =================================================================== RCS file: /usr/cvs/cm3/m3-tools/m3tk/src/target/M3CBackEnd_C.m3,v retrieving revision 1.6 diff -u -r1.6 M3CBackEnd_C.m3 --- M3CBackEnd_C.m3 25 Apr 2009 21:44:51 -0000 1.6 +++ M3CBackEnd_C.m3 14 Jan 2010 12:31:33 -0000 @@ -589,7 +589,7 @@ IF iv.sm_value > VAL(LAST(INTEGER), LONGINT) THEN RETURN M3CBackEnd.NumStatus.Overflow; END; - i := ORD(iv.sm_value); + i := VAL(iv.sm_value, INTEGER); RETURN M3CBackEnd.NumStatus.Valid; END; END Ord_C; @@ -621,7 +621,7 @@ IF iv.sm_value > VAL(LAST(INTEGER), LONGINT) THEN RETURN M3CBackEnd.NumStatus.Overflow; END; - er := M3CBackEnd_Int_Integer.New_value(ORD(iv.sm_value)); + er := M3CBackEnd_Int_Integer.New_value(VAL(iv.sm_value, INTEGER)); END; END; RETURN M3CBackEnd.NumStatus.Valid; Index: M3CBackEnd_Int.mg =================================================================== RCS file: /usr/cvs/cm3/m3-tools/m3tk/src/target/M3CBackEnd_Int.mg,v retrieving revision 1.1 diff -u -r1.1 M3CBackEnd_Int.mg --- M3CBackEnd_Int.mg 16 Mar 2008 22:44:16 -0000 1.1 +++ M3CBackEnd_Int.mg 14 Jan 2010 12:31:33 -0000 @@ -25,7 +25,7 @@ BEGIN IF VAL(FIRST(small), IntType.T) <= i AND i <= VAL(LAST(small), IntType.T) THEN - WITH result = small[ORD(i)] DO + WITH result = small[VAL(i, INTEGER)] DO IF result = NIL THEN result := NEW(T, sm_value := i) END; RETURN result; END;