Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!bionet!ig!ames!uhccux!munnari.oz.au!comp.vuw.ac.nz!massey!KSpagnol From: KSpagnol@massey.ac.nz (Ken Spagnolo) Newsgroups: comp.sys.pyramid Subject: Pyramid's "non-standard" C compiler Keywords: cc C Message-ID: <235@massey.ac.nz> Date: 1 Aug 89 03:30:53 GMT Reply-To: K.Spagnolo@massey.ac.nz (Ken Spagnolo) Organization: Massey University, Palmerston North, New Zealand Lines: 25 Don't get me wrong. I quite like our Pyramid 9815. There is, however, one thing that has caused numerous problems for people porting software around here. I apologize if this has been discussed before. In fact, I'd be quite surprised to hear it hadn't. I refer to the fact that in Pyramid C, given 'struct x x;', a call to function y() like 'y(x);' will pass to y() the entire structure x, rather that just a pointer to x, as is the case with all other C compilers I know about. This causes a fair amount of havoc when trying to bring up pd software that hasn't been 'Pyramidized'. We have gone thru several painful experiences with things like atalkad where we had to use lint, or some less scientific method, to figure out where to change occurences of y(x) to y(&x), etc. What do other Pyramid users do about this? Has anyone come up with an easy method of discovering where changes need to be made, or written a program to do so? Would it not be a simple matter to have a cc option that turned off this feature? Might there be an undocumented one already? All responses are appreciated! ============================================================================== Ken Spagnolo - Systems Programmer, Postmaster, Usenet Administrator, etc... Computer Centre, Massey University, Palmerston North, New Zealand K.Spagnolo@massey.ac.nz Phone: +64-63-69099 x8587 New Zealand = GMT+12 ==============================================================================