pts@faraday.clas.Virginia.EDU (Paul T. Shannon) (03/12/91)
I posted a question here last week about what I suspected was a compiler bug in Borland's c++ 1.0. I received two replies which were *very* helpful, one from Wayne Turner at Tektronix, and one from Sidney Markowitz at Borland. I've been able to thank Sidney by email, but two messages to Wayne have bounced. I hope you see this Wayne. Thanks! Without your message I'd probably still be poring over assembly listings of my code and tearing my hair. In case there's any interest, I'll briefly describe the problem and the fix. Last, if you're persuaded that this bug is the sort of thing that programmer's ought not to have to sweat blood to uncover -- especially when Borland has fixed the bug, created a new version of the compiler, and mailed it to those who knew to ask for it -- I shall ask you to write to the product manager at Borland, and maybe we can get the policy changed. THE BUG: I had a huge model c++ program, all contained in one file, which worked fine. I tested it in every way imaginable. Satisfied that the code was stable, I then split off one function from the original source file, the main function, so that I could test the code as a linked .obj file. I expected that this would work easily, and I'd then be able to link the .obj file into a larger program. Unfortunately, the stack overflow problem arose. I changed to the small memory model, and the problem didn't go away. (I later -- much later -- learned that separate compilation requires a larger stack: when I increased the stack size to 10k, the small model separate- compilation version worked fine.) I pored over assembly listings of the program, and ran program under turbo debugger 2.0, and couldn't figure out the problem. Then Wayne and Stanley came through, and my code now works again, and is incorporated into a larger program. It doesn't work in huge model, but the 1.01 compiler should be here in a week or two. I called Borland for the upgrade -- as Stanley suggested -- and when I asked why I hadn't been notified of the c++ upgrade last August, the gentleman told me politely that I should read the trade magazines in order to find out about upgrades. I pointed out that Borland sends me numerous letters every year, to try and get me to buy their business software -- which I have no need for -- and yet they find it too expensive to send me a postcard about the compiler upgrade. The Borland representative agreed that was a little odd. MY REQUEST: if you think this is worth your time, please send a letter to Paul Gross Sr. Product Manager, C++ Borland International 1800 Green Hills Road Scotts Valley, CA 95066-0001 and ask that they adopt a better upgrade notification policy. I should add that the upgrade is shipped for free, which is a commendable policy. I also wish to state that the two Borland employees I've dealt with -- Sidney and the fellow on the phone -- could not have been more helpful. Now, if they could only improve their upgrade policy... - Paul Shannon pts@virginia.edu