yhe@caen.engin.umich.edu (youda he) (01/24/89)
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,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
bright@Data-IO.COM (Walter Bright) (01/31/89)
To: yhe@caen.engin.umich.edu
Subject: Re: Zorteck C++ blue...
Newsgroups: comp.lang.c++
In-Reply-To: <410c930c.129dc@blue.engin.umich.edu>
Organization: Data I/O Corporation; Redmond, WA
Cc:
Bcc:
In article <410c930c.129dc@blue.engin.umich.edu> you write:
<(1) It will not properly return for derived class:
< System operator*(System& b); // not work.
I can help you better if you provide a complete program that fails, rather
than a fragment.
<(2) Blink can't find stuff in library.
This happens in some odd cases. I have this fixed for the next version.
<(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, ...
This will go away when typesafe linkage is implemented. This is a problem
with all current implementations.
<(4) optimizer give wrong result
Please email me the code that causes this. I've gotten only 1 bug report on the
optimizer in the last 6 months. I'm very interested in fixing any problems
with it. Simply saying that you get the wrong result is useless to anyone.
For example, I've had people complain bitterly to me about compiler bugs,
when their code had uninitialized pointers in it which caused their grief.
< 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.
Try using the -f flag to generate inline 8087 code. Anyway, I think you'll
find that floating point code in general is so slow that a few cycles saved
by an optimizer is lost in the overhead of floating point calculations.
<The bunch doesn't work at all.
Again, please email me an example. I use bunch, and it does work.
wgh@ubbpc.UUCP (William G. Hutchison) (02/02/89)
In article <1855@dataio.Data-IO.COM>, bright@Data-IO.COM (Walter Bright) writes: > In article <410c930c.129dc@blue.engin.umich.edu> you write: > <(1) It will not properly return for derived class: > < System operator*(System& b); // not work. > I can help you better if you provide a complete program that fails, rather > than a fragment. > <(4) optimizer give wrong result > Please email me the code that causes this. ... > ... Simply saying that you get the wrong result is useless to anyone. > For example, I've had people complain bitterly to me about compiler bugs, > when their code had uninitialized pointers in it which caused their grief. I have to agree with Walter on this one. At the Portation Center we frequently get verbal reports of compiler bugs, but when we ask for specific examples of code that demonstrates the bugs, they mysteriously vanish!! Most "compiler bugs" are application programmer errors. I cannot take such a report seriously unless shown a whole program that demonstrates it. By the way, I just got Zortech C++ 1.07 for a $20 upgrade fee. I like the Zortech product, but they seem to have a serious problem communicating with their customers. Nobody at Zortech ever told me about this update... I only learned about it through Usenet. -- Bill Hutchison, DP Consultant rutgers!liberty!burdvax!ubbpc!wgh Unisys UNIX Portation Center P.O. Box 500, M.S. B121 "The unexamined life is not worth living!" Blue Bell, PA 19424 -- Educational Testing Service, Princeton, NJ