ID Number: Q67272
6.00 | 6.00
MS-DOS | OS/2
buglist6.00 fixlist6.00a
Summary:
If the sample code below is compiled with the Microsoft C Compiler
version 6.00, using /AL and /Oe, the following internal compiler error
will be generated:
C1001: Internal Compiler Error
(compiler file '@(#)codegen.x:1.148', line 559)
Contact Microsoft Product Support Services
This error will not be generated if the /Oe optimization is used with
/Og and/or /Ol. Microsoft has confirmed this to be a problem in
Microsoft C version 6.00. This problem has been corrected in Microsoft
C version 6.00a.
Sample Code
-----------
#define DB_PTERM_PTR(id) (db_ptr[id] ? db_ptr[id] : db_swap_in(id))
extern DBRS_PTERM *db_swap_in(int);
extern DBRS_PTERM **db_ptr;
typedef struct
{
int type;
int factors[1];
} DBRS_PTERM;
void foo(int pt_id)
{
int id;
int i, j, k;
j = 0;
for (i=0;(id=DB_PTERM_PTR(pt_id)->factors[i]) != 0; i++)
{
for(k=j;k>=0;--k)
{}
DB_PTERM_PTR(pt_id)->factors[j++] = id;
}
}