Article: Q68145
Product(s): See article
Version(s): 6.00a | 6.00a
Operating System(s): MS-DOS | OS/2
Keyword(s): ENDUSER | buglist6.00a fastcall | mspl13_c
Last Modified: 24-JAN-1991
The sample code below produces the following internal compiler error
when compiled with default optimizations:
cl /c /Gs t.c
t.c(10) : fatal error C1001: Internal Compiler Error
(compiler file '@(#)grammar.c:1.138', line 164)
Contact Microsoft Product Support Services
The following is a list of possible workarounds:
1. Turn off all optimizations (compile with /Od).
2. Remove the _fastcall keyword from the function declaration.
3. Reduce the complex expression by using temporary variables.
4. Compile with the /qc (Quick Compile) option.
Sample Code
-----------
1: #include<math.h>
2:
3: double _fastcall round(void)
4: {
5: char *decimal;
6: double sign;
7: int right;
8:
9: right=(int)(((int)(atof(decimal)+1.0))*1.0);
10: return (sign*(1.0+((double)right)));
11:}
Microsoft has confirmed this to be a problem in C version 6.00a. We
are researching this problem and will post new information here as it
becomes available.