C9106000: C1001: grammar.c, Line 140

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