| Title | MPS doesn't compile under Pelles C |
| Status | closed |
| Priority | optional |
| Assigned user | Gareth Rees |
| Organization | Ravenbrook |
| Description | Open 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. |
| Analysis | We'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 found | customer |
| 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 by | Gareth Rees |
| Created on | 2014-03-20 21:24:43 |
| Last modified by | Gareth Rees |
| Last modified on | 2014-03-28 14:00:41 |
| History | 2014-03-20 GDR Created. |
| 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. |