MPS issue job003709

TitleMPS doesn't compile under Pelles C
Statusclosed
Priorityoptional
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionOpen Dylan use Pelles C [1] (not Microsoft Visual C/C++) on Windows, because it supports the CodeView debugging information format used by Open Dylan. However, the MPS does not compile under Pelles C. There are several problems:

(a) Pelles C is not recognized as a supported platform.

(b) Pelles C cannot compile the EVENT_LIST macro, crashing with:

    event.c(174): fatal error: Internal error: 'Access violation' at 0x0047b319.

(c) Pelles C provides no definition for the _JUMP_BUFFER structure.

(d) Pelles C has a preprocessor definition for "small", which conflicts with the use of small as a structure member in freelist.c.
AnalysisWe're not planning to make Pelles C into a supported platform at this point. But we're happy to make changes as a favour to Open Dylan.

Bruce Mitchener provided patches for recognizing Pelles C [1] and for fixing the other problems [2].

RB reported the EVENT_LIST crash to the Pelles C developers [3] and they provided some analysis that might yield a simpler fix.

Bruce's fix for (c) just copies the _JUMP_BUFFER structure definition from Microsoft Visual C/C++. But is this right? RB asked the Pelles C developers whether their setjmp was compatible [4].
How foundcustomer
Evidence[1] <https://github.com/waywardmonkeys/mps-temporary/pull/1>
[2] <https://github.com/Ravenbrook/mps-temporary/pull/2>
[3] <http://forum.pellesc.de/index.php?topic=5474.0>
[4] <http://forum.pellesc.de/index.php?topic=5464.0>
Created byGareth Rees
Created on2014-03-20 21:24:43
Last modified byGareth Rees
Last modified on2014-03-28 14:00:41
History2014-03-20 GDR Created.

Fixes

Change Effect Date User Description
185075 closed 2014-03-28 14:00:40 Gareth Rees Merge branch/2014-03-21/pellesc into the master sources.