Microsoft KB Archive/114076

{|
 * width="100%"|

FIX: C1001: reg86.c, line 4479, 4600

 * }

Q114076

7.00 | 1.00 MS-DOS | WINDOWS kbtool kbfixlist kbbuglist -- The information in this article applies to: - The Microsoft C/C++ Compiler (CL.EXE), included with: - Microsoft C/C++ for MS-DOS, version 7.0 - Microsoft Visual C++ for Windows, versions 1.0 -- SYMPTOMS ======== The compiler generates the following internal compiler error message when the sample program below is compiled. The C/C++ 7.0 compiler generates: fatal error C1001: INTERNAL COMPILER ERROR (compiler file '@(#)reg86.c:1.26', line 4479) The C/C++ 8.0 compiler generates: fatal error C1001: internal compiler error (compiler file '@(#)reg86.c:1.26', line 4600) The internal compiler error occurs when using the optimizing compiler regardless of optimizations being used. RESOLUTION ========== To avoid the error, use the fast compiler instead of the optimizing compiler. Use of the fast compiler can be forced by using the /f compiler switch. Note that you can still use optimizations even though you are using the fast compiler. STATUS ====== Microsoft 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- */ typedef struct sname1 { long lField11; long lField12; long lField13; long lField14; long lField15; } Table1; typedef struct sname2 { long lField21; long lField22; long lField23; long lField24; long lField25; char cField26; } Table2; void func1(long); int func2(int *, Table1 *); void func(int lParam1, Table2 * ptabParam2); Table1 LevelLists[4]; void func(int lParam1, Table2 * ptabParam2) { { func1(ptabParam2->lField25 - 8L); } lParam1= func2(&lParam1, &LevelLists[((ptabParam2->cField26)&3)]); } Additional reference words: 7.00 8.00 1.00 KBCategory: kbtool kbfixlist kbbuglist KBSubcategory: CLIss

Keywords : kb16bitonly kbCompiler

Issue type :

Technology : kbVCsearch kbAudDeveloper kbCVCComp