return error_mark_node;
}
-/* BuildDivM2 if iso or pim4 then build and return ((op2 < 0) : (op1
- divceil op2) ? (op1 divfloor op2)) otherwise use divtrunc. */
+/* BuildDivM2 if iso or pim4 then all modulus results are positive
+ and the results from the division are rounded to the floor otherwise
+ use BuildDivTrunc. */
tree
m2expr_BuildDivM2 (location_t location, tree op1, tree op2,
op1 = m2expr_FoldAndStrip (op1);
op2 = m2expr_FoldAndStrip (op2);
ASSERT_CONDITION (TREE_TYPE (op1) == TREE_TYPE (op2));
+ /* If iso or pim4 then build and return ((op2 < 0) ? (op1
+ divceil op2) : (op1 divfloor op2)) otherwise use divtrunc. */
if (M2Options_GetPIM4 () || M2Options_GetISO ()
|| M2Options_GetPositiveModFloor ())
return fold_build3 (
}
/* BuildDivM2Check - build and
- return ((op2 < 0) : (op1 divtrunc op2) ? (op1 divfloor op2))
+ return ((op2 < 0) ? (op1 divtrunc op2) : (op1 divfloor op2))
when -fiso, -fpim4 or -fpositive-mod-floor-div is present else
return op1 div trunc op2. Use the checking div equivalents. */
}
-/* BuildModM2Check if iso or pim4 then build and return ((op2 < 0) : (op1
- modceil op2) ? (op1 modfloor op2)) otherwise use modtrunc.
+/* BuildModM2Check if iso or pim4 then build and return ((op2 < 0) ? (op1
+ modceil op2) : (op1 modfloor op2)) otherwise use modtrunc.
Use the checking mod equivalents. */
tree
return m2expr_BuildModTruncCheck (location, op1, op2, lowest, min, max);
}
-/* BuildModM2 if iso or pim4 then build and return ((op2 < 0) : (op1
- modceil op2) ? (op1 modfloor op2)) otherwise use modtrunc. */
+/* BuildModM2 if iso or pim4 then build and return ((op2 < 0) ? (op1
+ modceil op2) : (op1 modfloor op2)) otherwise use modtrunc. */
tree
m2expr_BuildModM2 (location_t location, tree op1, tree op2,
fcase
Modula-2
-turns on runtime checking to check whether a CASE statement requires an ELSE clause when on was not specified
+turns on runtime checking to check whether a CASE statement requires an ELSE clause when one was not specified
fcpp
Modula-2
ffloatvalue
Modula-2
-turns on runtime checking to check whether a floating point number is about to exceed range
+turns on runtime checking to check whether a floating point number will exceed range
fgen-module-list=
Modula-2 Joined
flibs=
Modula-2 Joined
-specify the library order, currently legal entries include: log, min, pim, iso or their directory name equivalent m2log, m2min, m2pim, m2iso.
+specify the library order, the libraries maybe specified by a comma separated abbreviation: log,min,pim,iso or by directory names: m2log,m2min,m2pim,m2iso.
flocation=
Modula-2 Joined
fscaffold-dynamic
Modula-2
-the modules initialization order is dynamically determined by M2RTS and application dependancies
+the modules initialization order is dynamically determined by M2RTS and application dependencies
fscaffold-c
Modula-2
fwholevalue
Modula-2
-turns on runtime checking to check whether a whole number is about to exceed range
+turns on runtime checking to check whether a whole number will exceed range
static-libgm2
Driver