ID Number: Q73307
6.00 6.00a 6.00ax | 6.00 6.00a
MS-DOS | OS/2
buglist6.00 buglist6.00a buglist6.00ax fixlist7.00
Summary:
SYMPTOMS
The Microsoft C Compiler versions 6.0, 6.0a, and 6.0ax produce the
following internal compiler error when the sample program below is
compiled for huge (/AH) memory model and optimized for size (/Os):
file.c(37) : fatal error C1001: Internal Compiler Error
(compiler file '../grammar.c', line 140)
Contact Microsoft Product Support Services
RESOLUTION
The following workarounds may be used to eliminate this error:
1. Compile with any memory model other than huge.
-or-
2. Compile with any optimization not containing /Os.
-or-
3. Use the optimize pragma to disable size optimization for the
function where the error occurs.
-or-
4. Compile with the /qc (quick compile) option.
STATUS
Microsoft has confirmed this to be a problem in C versions 6.0,
6.0a, and 6.0ax. This problem was corrected in C/C++ version 7.0.
More Information:
Sample Code
-----------
/* Compile options needed: /AH /Os /c
*/
struct NodeList
{
void *nod;
int loopindx;
char type;
char pressure;
char inloop;
float pad1;
int pad2;
};
struct ComponentList
{
void *comp;
char orientation;
char type;
int usnode, dsnode;
int stloopindx;
float pad1;
};
struct Cluster
{
struct ComponentList *cmlist;
struct NodeList *nlist;
};
void FindCluster(struct Cluster *now)
{
int i = 1;
if (now->cmlist[i].type == 1 || now->cmlist[i].type == 2)
{
now->nlist[now->cmlist[i].usnode].inloop = 1;
now->nlist[now->cmlist[i].dsnode].inloop = 1;
}
}
Additional reference words: 6.00 6.00a 6.00ax