BUG: C1001: Internal Compiler Error: msc3.cpp, Line 429

Last reviewed: July 22, 1997
Article ID: Q115853
1.50 WINDOWS kbtool kbbuglist

The information in this article applies to:

  • The Microsoft C/C++ Compiler (CL.EXE), included with:

        - Microsoft Visual C++ for Windows, version 1.5
    

SYMPTOMS

Compiling the sample code shown below with the /G3 option causes the compiler to generate the following error message:

   fatal error C1001: internal compiler error
      (compiler file 'msc3.cpp', line 429)

RESOLUTION

To avoid the C1001 error, do one of the following:

  1. Do not compile with the /G3 option.

    -or-

  2. Restructure the code to avoid the problem. The sample code below illustrates this technique.

    -or-

  3. Try disabling all optimizations around the area that causes

        the error
    

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed above. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.

This is not a problem in the 32-bit compilers.

MORE INFORMATION

The following sample code can be used to demonstrate the problem.

Sample Code

/* Compile options needed: /G3
*/

#include <stdlib.h>

#define TRUE     1
#define FALSE     0

long double var_1 = 1.0; long double var_2 = 2.0;

void main()
{
    long double var_1_is_less;
    long double tmp;

    // This statement causes the C1001 error
    var_1_is_less = (__min( var_1 , var_2 ) == var_1);

    // Restructuring the code to something like the following
    // avoids the problem
    /*
    if(__min( var_1 , var_2 ) == var_1)
        var_1_is_less = TRUE;
    else
        var_1_is_less = FALSE;
    */
}


Additional reference words: 1.50 8.00c
KBCategory: kbtool kbbuglist
KBSubcategory: CLIss
Keywords : kb16bitonly


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: July 22, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.