Article View: comp.lang.modula2
Article #4003Bugs in DECWRL (Powell) Modula-2 Compiler
From: David Hemmendinger
Date: Tue, 29 Dec 1987 16:07
Date: Tue, 29 Dec 1987 16:07
21 lines
1611 bytes
1611 bytes
A year ago there was a posting of a list of bugs in the DECWRL Modula-2 compiler. It did not include these two: 1. If 'writef' is passed a constant string to be printed using the '%s' format, it fails if the string is 4 characters or less. The reason is simple; if writef is passed a string short enough to fit into 4 bytes, it passes the string by value to the system's printf routine, though it passes long strings by reference. However, printf's %s format always expects a pointer to a string. This is an optimization that doesn't work. 2. The 'Newprocess' routine returns an incorrect pointer to the process descriptor -- apparently it points to the wrong end of the data structure. I obtained a corrected version of the compiler's coroutine module from the author. Well over a year later, though, DEC was still distributing the incorrect version with Ultrix 2.0. The correct version can be identified by an error message that Newprocess displays if one tries to create a process descriptor smaller than 512 bytes; the incorrect version gives no such message. -- David Hemmendinger CSNET: dhemm@CS.wright.EDU UUCP: ...!cbosgd!wright!dhemm Computer Science Dept., Wright State University, Dayton, Ohio 45435 +1-513-259-1345
Technical Details
Message-ID:
<210@wright.EDU>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!rutgers!sdcsvax!ucbvax!cbosgd!wright!dhemmShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!rutgers!sdcsvax!ucbvax!cbosgd!wright!dhemm From: dhemm@wright.EDU (David Hemmendinger) Newsgroups: comp.lang.modula2 Subject: Bugs in DECWRL (Powell) Modula-2 Compiler Message-ID: <210@wright.EDU> Date: 29 Dec 87 16:07:36 GMT Organization: Wright State University, Dayton OH, 45435 Lines: 21