Xref: utzoo comp.lang.c:8412 comp.lang.fortran:552 Path: utzoo!mnetor!uunet!husc6!ut-sally!utah-cs!utah-gr!uplherc!sp7040!obie!wsccs!terry From: terry@wsccs.UUCP (terry) Newsgroups: comp.lang.c,comp.lang.fortran Subject: Re: ANSI C & Fortran 8x - Expand cpp to partially support generalized precision Message-ID: <340@wsccs.UUCP> Date: 20 Mar 88 10:50:40 GMT References: <44981@sun.uucp> <4804@sigi.Colorado.EDU> Lines: 43 Summary: I think it was ignored intentionally In article <4804@sigi.Colorado.EDU>, swarbric@tramp.Colorado.EDU (Frank Swarbrick) writes: > I don't know if you'd take this into concideration, but Turbo C already > uses __int__() for a general interrupt. > (i.e. #define geninterrupt(i) __int__(i) I have no idea why they have > this, but they do.) The response above was to an article suggesting __int__(999999) yeild the smallest integer/char/long/etc. data type that could contain the value 999999, and similar tricks, thus allowing you to declare only what you need to declare. Not to be rude, but I don't think an interrupt routine on a severly localized product based 1) on IBM DOS BIOS architecture, and 2) on 8086/80x86 calling conventions based on register push order _should_ be considered. The __int__(i) function is peculiar to Turbo C, which can not be demonstrated to be K&R compatable as far as the book "The C Programming Language" has defined pre-initialization of declared (non-external) global variables not explicitly set to a value to have a value of 0. Turbo C does not do this. Neither does it correctly treat local non-initialized static variables. It is arguably not C. (I'll argue more, if you want :-}). The function you talk about came as a result of the IBM-PC interrupt calling sequence not being the same as the "normal" oprcedure calling sequence... ie: PUSHing/POPing of registers on function entry/exit. It is NOT standard to any other C, and while it lets you do nifty things on DOS, such as memory resident pink-pad replacements, it doesn't do a thing for UNIX/VMS systems, which already have a standard method of catching catchable interrupts called 'signal()'. You can generate interrupts, too. Nope, I think we can safley ignore Turbo C when considering standardization of C across machines. PS: Personally, I support the ____() declarative ...it's pretty useless unless you are on a memory-limited machine, since you might as well make it huge elsewhere if you can't remember what it should be. | Terry Lambert UUCP: ...{ decvax, ihnp4 } | | @ Century Software : ...utah-cs!uplherc!sp7040!obie!wsccs!terry | | SLC, Utah | | These opinions are not my companies, but if you find them | | useful, send a $20.00 donation to Brisbane Australia... | | 'There are monkey boys in the facility. Do not be alarmed; you are secure' |