Date: Fri, 23 Apr 1999 17:48:56 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: asmodai@wxs.nl (Jeroen Ruigrok/Asmodai) Cc: wes@softweyr.com, mbendiks@eunet.no, jkh@zippy.cdrom.com, chat@FreeBSD.ORG, grog@lemis.com, illiad@userfriendly.org Subject: Re: Cross Posting... Message-ID: <199904231748.KAA23998@usr02.primenet.com> In-Reply-To: <XFMail.990421211037.asmodai@wxs.nl> from "Jeroen Ruigrok/Asmodai" at Apr 21, 99 09:10:37 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> Wonder what TerryBSD is written in... Must be pure C I reckon? K&R C, with upper case "VOLATILE" and "VOID" #defined based on the compiler compliance level. ANSI C has two problems: 1) Prototypes, which catch errors that could be caught at link time or avoided entirely using appropriate sign extension techniques and/or descriptor based calling, and which were introduced for hiding "near" and "far" in pre-Windows95 source code, which ran in medium model. 2) The "volatile" keyword, which is applied to variables, when it is obvious that any external reference by a function called in a seperate thread of context (e.g. signal handlers) are "volatile", and that any direct hardware manipulation (a compiler should know the system for which it is compiling code) could be table discovered and/or use a "hardware" keyword (alternately, it could use "pointers are volatile" semantics). It has the advantage of being compilable with any C compiler, all the way back to Aztec C for the Kaypro 2 under CP/M. It's much easier to port when part of the porting process is not becoming the maintainer of all the GNU tools for the year and a half after you quit distributing binaries, required by the license. Plus I always hated writing code generators for all the hardware the GNU tools doesn't support. 8-). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904231748.KAA23998>