[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gm2] cvs latest changes and proposal
From: |
Gaius Mulley |
Subject: |
[Gm2] cvs latest changes and proposal |
Date: |
Thu, 08 Oct 2009 13:05:51 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) |
Hi,
gm2 now sets up sigaction handlers to catch Modula-2 related signals.
This fixes 6 regression tests - and allows division by zero, NIL
dereferences to be caught by hardware and feed into the exception
routines.
<Proposal>
I propose that the compiler be modified to allow users to switch
software detection tests for these exception enumerations (on/off).
(from gm2/gm2-libs-iso/M2EXCEPTIONS.def)
enumeration field switch on switch off
--------------------------------------------------------
invalidloc -fnil -fno-nil
wholediv -fwholediv -fno-wholediv
wholevalue -fwhilevalue -fno-wholevalue
realdiv -frealdiv -fno-realdiv
realvalue -frealvalue -fno-realvalue
index -findex -fno-index (array index checking)
in any event the libraries will always configure sigaction to catch
these signals (this is already the case) - but on some targets
sigaction might not be available and the above might be useful. Any
thoughts?
</Proposal>
Anyway only 12 regressions fail on Debian LP64
regards,
Gaius
* gm2/Make-lang.in: added SysExceptions.c and
SysExceptions.def
to the list of library modules. Also included the
appropriate
build rules.
* gm2/gm2.texi: added space.
* gm2/el/g-mode.el: added all ISO and PIM built-in Modula-2
procedures and procedure functions.
* gm2/gm2-libs/RTExceptions.mod: new procedure functions
(indexf), (range), (casef), (invalidloc), (function),
(wholevalue), (wholediv), (realvalue), (realdiv),
(complexvalue), (complexdiv), (protection), (systemf),
(coroutine), (exception). Call
SysException.InitExceptionHandlers to init the signal
call backs.o
* gm2/init/gm2-gccinit: add SysExceptions to the list of
modules.
* gm2/init/gm2lccinit: add SysExceptions to the list of
modules.
* gm2/init/gm2lgeninit: add SysExceptions to the list of
modules.
* gm2/init/gm2linit: add SysExceptions to the list of
modules.
* gm2/init/gm2lorderinit: add SysExceptions to the list of
modules.
* gm2/init/gm2minit: add SysExceptions to the list of
modules.
* gm2/init/h2definit: add SysExceptions to the list of
modules.
* gm2/init/ppginit: add SysExceptions to the list of
modules.
=== gm2 Summary ===
# of expected passes 8292
# of unexpected failures 12
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gm2] cvs latest changes and proposal,
Gaius Mulley <=