Click here to Skip to main content
15,914,447 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: array -- foo, &foo and &foo[0] Pin
Iain Clarke, Warrior Programmer13-Aug-07 23:36
Iain Clarke, Warrior Programmer13-Aug-07 23:36 
GeneralRe: array -- foo, &foo and &foo[0] Pin
George_George13-Aug-07 23:50
George_George13-Aug-07 23:50 
QuestionDisabling shortcut in Visual C++ [modified] Pin
jimfisher13-Aug-07 18:15
jimfisher13-Aug-07 18:15 
AnswerRe: Disabling shortcut in Visual C++ Pin
Iain Clarke, Warrior Programmer13-Aug-07 22:56
Iain Clarke, Warrior Programmer13-Aug-07 22:56 
QuestionRe: Disabling shortcut in Visual C++ Pin
David Crow14-Aug-07 3:12
David Crow14-Aug-07 3:12 
AnswerRe: Disabling shortcut in Visual C++ Pin
jimfisher14-Aug-07 5:20
jimfisher14-Aug-07 5:20 
Questionfatal error C1001: INTERNAL COMPILER ERROR Pin
itkid13-Aug-07 18:11
itkid13-Aug-07 18:11 
AnswerRe: fatal error C1001: INTERNAL COMPILER ERROR Pin
jimfisher13-Aug-07 18:20
jimfisher13-Aug-07 18:20 
MSDN Library says:
Fatal Error C1001
INTERNAL COMPILER ERROR
(compiler file 'file', line number)

This error is most often generated in one of two cases:

Failure to recover the compiler's internal state following detection of a syntax error in the program. The first pass of the compiler will occasionally fail when attempting to recover its state following the detection of a malformed program. Typically, the compiler will have printed an error message (or messages) and will later produce an internal compiler error. In most cases, fixing the errors reported in your code and recompiling will solve the problem.


Failure of the code generator to find a way to generate correct code for a construct. This is most often caused by the interaction of an expression and an optimization option. The optimization has generated a tree which the compiler does not know how to handle. Such a problem can often be fixed by removing one or more optimization options when compiling the particular function containing the line indicated in the error message.
If no error messages have been emitted prior to the internal compiler error, then the next step is to determine which pass of the compiler is emitting the internal compiler error. This can be determined by recompiling the application with the /Bd option included. The /Bd option will cause each pass to print its name and arguments when it is invoked. The last pass invoked before the error is emitted is the one responsible.

If the pass indicated is P1, then the likely problem is still error recovery, as in number one above, but it is happening before the compiler has had a chance to emit the error message for the error it has just discovered. In such a case, examine the line on which the internal compiler error is reported. This line may also contain an unreported syntax error. Fixing any errors you find on that line will solve the internal compiler error in most cases. If you cannot find any error on that line or on the line previous to the one reported, contact Microsoft Product Support Services for help.

If the pass indicated is P2, then the problem can usually be fixed by removing one or more optimization options (or using a different code generator). You can determine which option is at fault by removing them one at a time and recompiling until the message goes away. Generally the last one removed is the problem and all other optimizations can be used safely. The most common culprits are /Og, /Oi, and /Oa. Once the offending optimization is discovered, it need not be turned off for the entire compilation. The offending optimization can be disabled with the optimize pragma while compiling the function where the error occurred, but enabled for the rest of the module.

More rarely, such errors occur at very low optimization levels or even when optimization is disabled. In such cases, rewriting the line where the error is reported (or possibly several lines including the one causing the error) may be a solution. If none of these options works, consult the technical support help file or the technical support section in one of your manuals.



Jim
GeneralRe: fatal error C1001: INTERNAL COMPILER ERROR Pin
itkid15-Aug-07 20:35
itkid15-Aug-07 20:35 
Questionhow to know a double is infinite directly? Pin
includeh1013-Aug-07 18:00
includeh1013-Aug-07 18:00 
GeneralRe: how to know a double is infinite directly? Pin
Maxwell Chen13-Aug-07 19:04
Maxwell Chen13-Aug-07 19:04 
AnswerRe: how to know a double is infinite directly? Pin
Mark Salsbery14-Aug-07 6:05
Mark Salsbery14-Aug-07 6:05 
QuestionApplication that use DataGrid ActiveX Control dont work without VC++ installed Pin
xanagan13-Aug-07 17:13
xanagan13-Aug-07 17:13 
AnswerRe: Application that use DataGrid ActiveX Control dont work without VC++ installed Pin
Maxwell Chen13-Aug-07 17:46
Maxwell Chen13-Aug-07 17:46 
AnswerRe: Application that use DataGrid ActiveX Control dont work without VC++ installed Pin
Paresh Chitte13-Aug-07 18:51
Paresh Chitte13-Aug-07 18:51 
GeneralVisual Studio 2003/2005 name mangling Pin
Harald Krause13-Aug-07 15:42
Harald Krause13-Aug-07 15:42 
GeneralRe: Visual Studio 2003/2005 name mangling Pin
Maxwell Chen13-Aug-07 17:08
Maxwell Chen13-Aug-07 17:08 
QuestionDrawing Data Flow Digram Pin
Rajesh Rajan Pankapattu13-Aug-07 8:48
Rajesh Rajan Pankapattu13-Aug-07 8:48 
QuestionObtain class digram Pin
Rajesh Rajan Pankapattu13-Aug-07 8:36
Rajesh Rajan Pankapattu13-Aug-07 8:36 
QuestionDesign question for using derived class/ Multiple Base classes Pin
ForNow13-Aug-07 6:36
ForNow13-Aug-07 6:36 
AnswerRe: Design question for using derived class/ Multiple Base classes Pin
jhwurmbach13-Aug-07 6:47
jhwurmbach13-Aug-07 6:47 
GeneralRe: Design question for using derived class/ Multiple Base classes Pin
ForNow13-Aug-07 12:01
ForNow13-Aug-07 12:01 
AnswerRe: Design question for using derived class/ Multiple Base classes Pin
led mike13-Aug-07 7:10
led mike13-Aug-07 7:10 
GeneralRe: Design question for using derived class/ Multiple Base classes Pin
1slipperyfish13-Aug-07 9:24
1slipperyfish13-Aug-07 9:24 
GeneralRe: Design question for using derived class/ Multiple Base classes Pin
led mike13-Aug-07 9:32
led mike13-Aug-07 9:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.