Re: Strangest VC8 bug yet



Victor Bazarov wrote:
Edward Diener wrote:
I have a source file [..]
The most amazing thing about this error is that the error message shows that an extra 's' has been added to the
name of the class in the error message, so that using the example
above the error message would be:

error C3083: 'SomeClasss': the symbol to the left of a '::' must be a
type
[..]

Please post the minimal amount of code, complete, so we could also try
it on our systems, and so you have something to post as an example when
you submit a bug report to MS.

If I try to reduce the code by removing lines which would ordinarily not be included anyway because of preprocessor #if commands, the bug goes away. The source is being used by more than one version of VC++ and I have preprocessor commands like:

#if defined(_MSC_VER) && _MSC_VER < 1300
// some code or header file include
#endif

Compiling for VC8, in one situation if I comment out the above lines, the bug still shows later on in the code but if I totally remove the lines the bug goes away !!! Attempting to post the full source which fails now would be not only a large source file, but would require other fairly large header files. Of course the workaround for me is to create a separate source version specifically for VC8, without any of the preprocessor #if lines, since that compiles OK.

But there is a serious bug here somewhere in the compiler which is normally being buried The source file is a large one, with 3377 lines and a single routine made up largely of switch statements, and nested switch statements, taking up about 2200 lines. But of course the compiler should tell me if I have gone over some mandated limit rather than just failing.

What I might try to do is create a project and post it as a bug to MS using the exact source which is failing. I have run into a number of VC8 bugs, and quite frankly I am tired of having to fight my way through these. VS2005 is a beautiful environment but MS did not test all the VC8 possibilities as far as I can see. I know it is a huge compiler now, with support for many different type situations from .NET C++/CLI code through MFC and ATL to plain C++ and Windows API programming. But in just over a couple of months of using it I have discovered a number of compiler bugs myself with which I must find workarounds. This is very disappointing to say the least.
.



Relevant Pages

  • Re: question on __based pointers (VC 7.1)
    ... I still think that since __based is intrinsic the compiler can optimize it ... better than equivalent class. ... Hope the bug will be fixed in VC8 ... ...
    (microsoft.public.vc.language)
  • Re: CSharp compiles bug?
    ... compiler throw error message 'unassign variable "str"'. ... but don't execute assing sentence. ... No, it's not a bug. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Text box throws an Error 7 Out of Memory with less than 27K in it!
    ... I'd have to agree with Bob here, ... >> those exact numbers and then concatenates that many more, ... I used to work supercomputer compiler support at CDC. ... > My favorite such bug at CDC was a benchmark that ran instantaneously. ...
    (microsoft.public.vb.enterprise)
  • Re: Bug in latest IAR MSP430 compiler optimization???
    ... It has been assigned bug id EW20095, and it will be fixed in the ... The tests compiler companies do are quite extensive. ... register allocation when combined with post-incs and rollup. ... IAR use an industry standard test suite like this (that you don't ...
    (comp.arch.embedded)
  • Re: Salford compiler: Assigning a value to a constant expression is invalid
    ... a bug, it is not usually wise, I think, to assume that it's a compiler bug. ... -|> I'd suggest submitting a self-contained source code file to Salford Support. ... So all I had to do in that case was send the routine and ...
    (comp.lang.fortran)