Path: utzoo!attcan!uunet!husc6!mailrus!cornell!uw-beaver!tikal!sigma!uw-nsr!john From: john@uw-nsr.UUCP (John Sambrook) Newsgroups: comp.lang.c Subject: Re: Any bounds-checking C compilers? Message-ID: <1354@uw-nsr.UUCP> Date: 2 Jul 88 15:49:54 GMT References: <4033@pasteur.Berkeley.Edu> Reply-To: john@uw-nsr.UUCP (John Sambrook 548-4386) Organization: UW-Bioengineering, Seattle, WA Lines: 35 In article <4033@pasteur.Berkeley.Edu> faustus@ic.Berkeley.EDU (Wayne A. Christopher) writes: >Are there any C compilers that compile in run-time bounds checking for array >accesses? In some cases you couldn't do it, of course, but it would be nice >to be able to turn it on for those cases where it is possible. > > Wayne > Disclaimer: I have no association with Data General other than being a consumer of their Unix products. The C compiler is the best Unix C compiler I have ever used, and I have used a few. In fact, the DG Unix C compiler is a lot like having the IBM PL/I "Checkout" and "Optimizing" compilers rolled into one. The Data General C compiler can do this when requested via cc command line switches. The compiler has a number of other features which make it a real winner for porting existing code and for developing new code. Another nice feature of this compiler and runtime system is that you can compile in line number and procedure name information for use in the event of a program abort. Then, when your program does something stupid, like dereferencing through NULL, you get a traceback that prints line number and procedure name for each currently active procedure. There are a number of other useful options, like the ability to have either signed or unsigned characters, and the ability to have zeroed stack frames or not, and runtime pointer type checking for a certain class of pointers ("byte" pointers v.s. "word" pointers). -- John Sambrook Internet: john@nsr.bioeng.washington.edu University of Washington RC-05 UUCP: uw-nsr!john Seattle, Washington 98195 Dial: (206) 548-4386 ``Otium Cum Dignitate''