KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q44077: Internal Compiler Error: grammar.c:1.29, Line 108

Article: Q44077
Product(s): See article
Version(s): 5.10   | 5.10
Operating System(s): MS-DOS | OS/2
Keyword(s): ENDUSER | buglist5.10 s_quickc | mspl13_c
Last Modified: 26-JAN-1990

The program below causes the Microsoft C 5.10 Optimizing Compiler to
produce the following error:

   foo.c(10) : fatal error C1001: Internal Compiler Error
        (compiler file '@(#)grammar.c:1.29', line 108)
        Contact Microsoft Technical Support

This error also may be caused by using either graphics function
_moveto_w or _lineto_w when compiling with QuickC 2.00 header files
such as graph.h. In this case, the error is a result of the expression
resulting from the expansion of the _moveto_w and _lineto_w macros, or
several other window macros. An example of this is TURTLE.C and
WINDOW.C from the GRDEMO sample program that comes with QuickC 2.00.

Microsoft has confirmed this to be a problem in Version 5.10. We are
researching this problem and will post new information here as it
becomes available.

The following program causes the internal compiler error:

struct ice
{
     short x, y;
};

struct ice think(double);
void Just(struct ice);

void main(void)
{
    Just(think(6.00));
}

In the sample program above, the error can be worked around by
changing the structure ice to the following:

struct ice
{
     short x,y;
     int fudge_factor;
};

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.

Copyright Microsoft Corporation 1986-2002.