Path: utzoo!utgpu!water!watmath!clyde!cbosgd!ucbvax!HNYKUN11.BITNET!U613042 From: U613042@HNYKUN11.BITNET (Olaf Seibert) Newsgroups: comp.sys.amiga Subject: More about PDC - bug fixes this time Message-ID: <8712101748.AA07878@jade.berkeley.edu> Date: 10 Dec 87 17:02:15 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 48 So, I didn't read the README file with PDC.... I'll stop complaining about bugs in PDC. Instead, here are two bug fixes... (Sorry, no diffs, I can't easily download files to the local IBM...) 1. Fix of the un-optimized default case: File: Stmt.c Function: casestmt() in the then-part if 'if (lastst == kw_default)', add snp->stype = st_case; somewhere where you like the layout. 2. Fix of an unmentioned bug in 'pointer += integer' File: Expr.c Function asnop() directly after label 'ascomm3', add 'getsym();' change the following 'goto ascomm;' into 'goto ascomm2;' I have fixed the extending of arguments passed to functions. (This fix is slightly too complicated to retype here.) I do this by forcing any declarations of parameters of chars or shorts, to be declarations of ints. I believe this is the correct thing to do, although I don't have K&R myself and/or handy. Any short or char arguments passed to a function are extended to ints. But, I noticed that Manx does it differently: any short or char parameters are really only 1 or 2 bytes, just padded on the left to 4 bytes. (I don't believe this is correct, since you cannot pass anything smaller than an int to a function, just like floats are expanded to doubles before being passed to a function). So, if you take the address of a char parameter, with Manx you get the address of the 4rd byte of a 4 byte field, while with my version of PDC I get the address of the 1st byte of a 4 byte field, so I have a pointer to an int. My problem is: which method is correct? Both are as easy to implement, in fact, I had it the Manx way first, and changed it afterwards. Of course, if I do something, I prefer to do it the right way. I'd appreciate any comments. ... By the way, due to the gateway I need to use to post to comp.sys.amiga, there is a significant delay between the moment I post something and the moment you see it. --- The opinions possibly reflected herein are my own, and not necessarily those of someone else I might be connected with. They MAY, however, be. >>> I *thought* I was living in a free, modern country.... --- Olaf (Rhialto) Seibert... U613042@HNYKUN11.BITNET USEnet is *almost* an anagram of unsent ... BITnet: Because It's There Computers? Just say *YES*! Customs? Just say *NO*!