[M3commit] [modula3/cm3] da17d2: Allow assigning and passing of procedures in prede...
GitHub
noreply at github.com
Thu Oct 6 02:15:51 CEST 2016
Branch: refs/heads/master
Home: https://github.com/modula3/cm3
Commit: da17d27fa86eec7bd2cbf6a21e4c6b75b139c0fc
https://github.com/modula3/cm3/commit/da17d27fa86eec7bd2cbf6a21e4c6b75b139c0fc
Author: Rodney Bates <rodney.m.bates at acm.org>
Date: 2016-10-05 (Wed, 05 Oct 2016)
Changed paths:
M m3-libs/m3core/src/word/GenWord.mg
M m3-sys/m3front/src/builtinAtomic/CompareSwap.mg
M m3-sys/m3front/src/builtinAtomic/Fence.mg
M m3-sys/m3front/src/builtinAtomic/FetchAnd.mg
M m3-sys/m3front/src/builtinAtomic/FetchDec.mg
M m3-sys/m3front/src/builtinAtomic/FetchInc.mg
M m3-sys/m3front/src/builtinAtomic/FetchOr.mg
M m3-sys/m3front/src/builtinAtomic/FetchXor.mg
M m3-sys/m3front/src/builtinAtomic/IsLockFree.mg
M m3-sys/m3front/src/builtinAtomic/Load.mg
M m3-sys/m3front/src/builtinAtomic/Store.mg
M m3-sys/m3front/src/builtinAtomic/Swap.mg
M m3-sys/m3front/src/builtinInfo/InfoThisException.m3
M m3-sys/m3front/src/builtinInfo/InfoThisFile.m3
M m3-sys/m3front/src/builtinInfo/InfoThisLine.m3
M m3-sys/m3front/src/builtinInfo/InfoThisPath.m3
M m3-sys/m3front/src/builtinOps/Abs.m3
M m3-sys/m3front/src/builtinOps/Adr.m3
M m3-sys/m3front/src/builtinOps/AdrSize.m3
M m3-sys/m3front/src/builtinOps/BitSize.m3
M m3-sys/m3front/src/builtinOps/ByteSize.m3
M m3-sys/m3front/src/builtinOps/Ceiling.m3
M m3-sys/m3front/src/builtinOps/Dec.m3
M m3-sys/m3front/src/builtinOps/Dispose.m3
M m3-sys/m3front/src/builtinOps/First.m3
M m3-sys/m3front/src/builtinOps/Floatt.m3
M m3-sys/m3front/src/builtinOps/Floor.m3
M m3-sys/m3front/src/builtinOps/Inc.m3
M m3-sys/m3front/src/builtinOps/IsType.m3
M m3-sys/m3front/src/builtinOps/Last.m3
M m3-sys/m3front/src/builtinOps/Loophole.m3
M m3-sys/m3front/src/builtinOps/Max.m3
M m3-sys/m3front/src/builtinOps/Min.m3
M m3-sys/m3front/src/builtinOps/Narrow.m3
M m3-sys/m3front/src/builtinOps/New.m3
M m3-sys/m3front/src/builtinOps/Number.m3
M m3-sys/m3front/src/builtinOps/Ord.m3
M m3-sys/m3front/src/builtinOps/Round.m3
M m3-sys/m3front/src/builtinOps/Subarray.m3
M m3-sys/m3front/src/builtinOps/Trunc.m3
M m3-sys/m3front/src/builtinOps/Typecode.m3
M m3-sys/m3front/src/builtinOps/Val.m3
M m3-sys/m3front/src/builtinWord/And.mg
M m3-sys/m3front/src/builtinWord/Divide.mg
M m3-sys/m3front/src/builtinWord/Extract.mg
M m3-sys/m3front/src/builtinWord/GE.mg
M m3-sys/m3front/src/builtinWord/GT.mg
M m3-sys/m3front/src/builtinWord/Insert.mg
M m3-sys/m3front/src/builtinWord/LE.mg
M m3-sys/m3front/src/builtinWord/LT.mg
M m3-sys/m3front/src/builtinWord/Minus.mg
M m3-sys/m3front/src/builtinWord/Mod.mg
M m3-sys/m3front/src/builtinWord/Not.mg
M m3-sys/m3front/src/builtinWord/Or.mg
M m3-sys/m3front/src/builtinWord/Plus.mg
M m3-sys/m3front/src/builtinWord/Rotate.mg
M m3-sys/m3front/src/builtinWord/Shift.mg
M m3-sys/m3front/src/builtinWord/Times.mg
M m3-sys/m3front/src/builtinWord/Xor.mg
M m3-sys/m3front/src/values/Procedure.i3
M m3-sys/m3front/src/values/Procedure.m3
Log Message:
-----------
Allow assigning and passing of procedures in predefined modules Word and Long.
This compiler fix allows assigning the procedures in predefined modules
Word and Long to a variable or passing to a formal parameter of appropriate
procedure type. Previously, attempting to do this resulted in a code
generator failure message.
In m3core, there are already libraries Word and Long, whose only
apparent purpose could be to support this, yet the compiler could
not use them. Add some explanation to the libraries, as this is
confusing.
Also, for those builtin procedures that still cannot be passed or
assigne (e.g. Info.InfoThisLine), give a meaningful compile-time
error message, instead of failing.
More information about the M3commit
mailing list