FIX: C4713: Internal Compiler Error, reg86.c, Line 2934Last reviewed: September 18, 1997Article ID: Q113259 |
1.00
WINDOWS
kbtool kbfixlist kbbuglist
The information in this article applies to:
SYMPTOMSThe compiler generates the following internal compiler error message when the sample program below is compiled with /Oe or /Ox:
warning C4713: func: internal compiler error; restarting (compiler file '@(#)reg86.c:1.26', line 2934)The internal compiler error is triggered by using the global register allocation optimization (/Oe). Note that global register allocation is included with the /Ox compiler option.
RESOLUTIONThe C4713 message is just a warning. The compiler realizes a problem has occurred due to the global register allocation optimization and restarts the compile without the optimization. There are two ways to eliminate this warning message:
STATUSMicrosoft has confirmed this to be a problem in the Microsoft products listed above. This problem was corrected in Visual C++ version 1.5.
Sample Code
/* Compile options needed: /c /f- /Oe */ #include <ctype.h>typedef struct _table { char * pcItem1; char * pcItem2; char * pcItem3; int nItem4; } * PTABLE;static int nStatic;
// Uncomment for workaround: // #pragma optimize ("e", off) int func (PTABLE ptParam){ for (;;) { if (nStatic == '/') { ptParam->nItem4 = 2; ptParam->pcItem3 = ptParam->pcItem2; return 7; } if (nStatic == '\\') { nStatic = (++(ptParam->pcItem2) < ptParam->pcItem1 ? *ptParam->pcItem2 : -1); } }}
// Uncomment for workaround: // #pragma optimize ("", on) |
Additional reference words: 8.00 1.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |