Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!munnari.oz.au!brolga!bunyip.cc.uq.oz.au!iris.mincom.oz.au!cjm From: cjm@iris.mincom.oz.au (Chris Moran) Newsgroups: comp.unix.xenix.sco Subject: Xenix cc bugs Message-ID: <720@iris.mincom.oz.au> Date: 21 Nov 90 09:16:45 GMT Reply-To: cjm@iris.mincom.oz.au (Chris Moran) Organization: Mincom, Brisbane, Australia. Lines: 58 We have discovered the following bugs in our SCO Xenix cc : 1) This code elicits "fatal error C1026: parser stack overflow, please simplify your program" from cc : while (1) { while (1) { ... /* nested to a depth of 12 */ ; } } If while() is substituted with for(), the permitted nesting depth drops to 7. Though hand-crafted C code rarely reaches these depths of iteration in a single function, an automatic code generator such as a language translator can burst this limit rather easily. SCO knows about this problem, but replies that this "feature" does not warrant the allocation of development resources. 2) Compiling this program with "cc -M3e -g" generates an executable whose size is _260K_. static int funct (void); main (argc, argv) int argc; char *argv[]; { funct (); } static int funct (void) { ; } Removing the void specifier and hence reverting to old-style function declarations, or removing static, or compiling without symbolic info (the -g flag), creates a binary more suiting the code (8 K). SCO have yet to hear about this one. We are running with SCO Xenix 386 SysV, Rel. 2.3.2, Development system 2.3.1, with SLS lng244 installed. Anyone with similar stories? Chris Moran cjm@mincom.oz.au