To: Gary G. Withrow who wrote (131059 ) 3/28/2001 5:05:56 PM From: pgerassi Respond to of 186894 Dear Gary: How many large applications have you compiled? Are they in the 100K's lines range? Over a million lines? How about a application consisting of hundreds of programs linked to many other applications on the same and different systems? I have done these types. I have written them from scratch on everything from an Olvetti Calculator, to some IBM 1401/1410s (three years younger than I was at the time using discrete transistors), to IBM 3090s, and all of the server class CPUs (IBM, SUN, HP, SGI, DEC (Compaq), Tandem, etc.). All compilers have bugs. It seems that the larger and more diverse the application, the more you find. There are four classes of compiler bugs, ignorable (does not affect anything other than it looks bad (like unnecessary warnings)), fixable by work arounds both simple and complex, fixable by the suppliers of the compiler (usually drop dead fatal compiler internal errors or core dumps at run time), and unfixable (compiler supplier no longer in existance or refuses to fix) (these are fixable but with a whole lot of work (been there, done that)). Many of the complaints of the Vtune compilers fall into the third category assuming that Intel will fix it. There are few compilers that will take an application that runs on one system and can compile with only first category bugs on another system (this does not include those bugs due to bad app design, byte order, underlying system assumptions, etc.). Those compilers that can do it are very prized and are switched away from only with large protests. Many commercial compilers are not up to this standard. What a real compiler should not do is on the same system and hardware config as an already running app by many other compilers failing to compile to a runnable app. To have a compiler have a third category failure even after a day or two of trying, is not acceptable. The Intel Vtune compiler falls into that category. Even if they have fixed it, and there is no evidence to that fact, it would still be labelled as untrustworthy until a whole lot of successful projects are completed and well publicized. Take the account of the P3 1.13GHz CPU. What someone did is take the CPU put it into a motherboard approved by the manufacturer, loaded a widely used OS (Linux), and proceeded to do what most Linux administrators do, recompile the kernel. To have the computer lockup each time this is done, was met by complete disbelief. The very respected manufacturer could not have made such an error. Yet, the proof was there and it was found to be repeatable by others. Evidently this was an error and must be fixed! To date, no P3 1.13GHz CPU has been released to the public. When it is released, do you think that it will be rechecked? It will be checked more rigorously by all concerned before they accept that it is truly fixed. It is no different than with compilers. "Once bitten, twice shy" is the minimum for developers. Actually it is more like "Once bitten, far more shy". The most portable compiler and the one that sets the standard for robustness is the "pcc" C compiler. The "gcc" (Gnu C/C++) compiler is in the same class. Compared to that, Vtune is far behind. Pete