Path: utzoo!attcan!uunet!tank!ncar!mailrus!caen.engin.umich.edu!yhe From: yhe@caen.engin.umich.edu (youda he) Newsgroups: comp.lang.c++ Subject: Zorteck C++ blue... Message-ID: <410c930c.129dc@blue.engin.umich.edu> Date: 24 Jan 89 05:11:00 GMT Reply-To: yhe@caen.engin.umich.edu (youda he) Distribution: comp.lang.c++ Organization: caen Lines: 62 Hello world, I am one of those bought a Zortech C++ compiler, After struggle with Zortech C++, I found it has following problems : (1) It will not properly return for derived class: example: class Matrix { ... }; class System : Matrix { Matrix sys; int state; public: ... System operator*(System& b); // not work. friend System serial(System& a, System& b); // not working friend void serial(System& a, System& b, System &ab); // works }; In this case the return value is unpredictable, in most cases it will hang system. If the return value is not derived class, it works. Also if return by arg, it also woks. this made it almost impossible to define operators in derived class. (2) Blink can't find stuff in library. (3) Overload cast name based on the sequence functions appear in the .cpp file not in the sequence of definition in header file. that will cause same name casting in different file, unless you pull all the functions has same name in one file, ... (4) optimizer give wrong result, the only way to check is to see if it works OK then suddenly hang system or just wrong answer. a lot of time the compiler quit, tell you ZTC BUG *****, (during ZTC2B), some times it get to the end but MAY BE wrong. I just keep in the plain mood now. Also (Inverting (50x50) matrix compiled by msc 5.1 take 8.7 sec, ZTC 12.8 sec, both use maximum optimization large model, use 10Mhz 1 wait AT with 80287), therefore the optimization not doing much any way. (5) Wrong floating point case when using -f option: example: main() { double a=HUGE_VAL; printf("%d %d %d %d \n", a>0.,0.a); } will show one of them is not correct. (forget which one). (6) zlib: lib(ms) and zlib can't mix up, one put a .obj file in .lib can't be removed by the other, but no complain issued. { lib(ms) seems work better, since blink usually can find stuff put in by lib(ms). } (7) tech support: I called twice, they promise to call back, I never get the call. I mail back the post card come with compiler, no answer either. Suggestion: Make it work before put any fancy stuff in it, I never use the editor come with the compiler. Code view hardly work, (you can see the line on code view, but some times can't find value), any thing associate with IO will not work under codeview. The bunch doesn't work at all. Does Zortech has any update yet? I have 1.07 Any suggestions? Youda yhe@caen.umich.edu