Microsoft C Compiler Fatal Errors
C1000 unknown fatal error; contact Microsoft
C1001 internal compiler error; contact Microsoft
C1002 compiler out of heap space in C2.EXE
C1003 error count exceeded; stopping compilation
C1004 unexpected end-of-file found; disk full or unmatched #if
C1005 string too big for buffer
C1006 compiler intermediate file create/write error
C1007 invalid option on compiler command line
C1008 no source file specified
C1009 macros nested too deeply
C1010 macro expansion exceeded available space
C1011 macro definition too large
C1012 unmatched parenthesis in preprocessor directive
C1014 nesting of #include's exceed 10-level nesting limit
C1016 #ifdef & #ifndef directives expect an identifier
C1018 unexpected #elif; #elif without #if directive
C1019 unexpected #else; #else without #if directive
C1020 unexpected #endif; #endif without #if directive
C1021 invalid preprocessor command
C1022 expected #endif; #if directive not terminated by #endif
C1023 can't open specified source file
C1024 can't open specified include file
C1026 parser stack overflow; module too complex
C1027 DGROUP default data allocation exceeds 64K
C1028 modules far data segment allocation exceeds 64K (QC)
C1031 function calls nested too deeply
C1032 can't open object listing file
C1033 can't open assembly language output file
C1035 expression too complex; must be simplified
C1036 can't open source listing file
C1037 can't open object file
C1039 unrecoverable heap overflow in Pass 3 (post-optimizer)
C1040 unexpected EOF in source file; file disappeared
C1041 can't open intermediate file; no free file handles
C1042 can't open intermediate file; invalid TMP environment var
C1043 can't open intermediate file; unknown error
C1044 no disk space available for intermediate file
C1047 compiler option was specified too many times
C1048 unknown option specified
C1049 invalid numerical argument
C1050 code segment too large; within 36 bytes of 64K
C1052 #if/#ifdef nested too deeply; max of 32 levels
C1053 struct/union nested too deeply; max of 15
C1054 initializers nested too deeply; max from 10 to 15 levels
C1055 out of keys; file has too many symbols
C1056 out of macro expansion space; macro to large/complex
C1057 unexpected EOF in macro expansion or missing ')'
C1059 compiler has run out of near heap space
C1060 compiler has run out of far heap space
C1062 error writing preprocessor output file for /P option
C1063 compiler stack overflow; module too complex
C1064 identifier too long causing token to overflow internal buffer
C1068 can't open file specified file
C1069 file write error on specified file; disk space low
C1070 mismatched #if/#endif pair; missing #endif
C1071 unexpected EOF found in comment; missing end of comment
C1072 can't read indicated file
C1090 data allocation exceeds 64K on _based allocation
C1015 can't open include file (check name, searchpath and FILES=)
C1126 automatic allocation (local variable) exceeds size
C1127 segment redefinition; overwritten by specified segment
Microsoft C Compiler Nonfatal Errors
C2015 too many characters in constant; escape sequence too large
C2016 missing closing single quotation mark on code line
C2017 illegal escape sequence; occurred outside of string
C2018 unknown character found in source file
C2019 expected preprocessor directive; # followed by non-directive
C2021 expected exponent value but found non-numeric character
C2022 octal value following '\' is too large for a single character
C2025 given identifier redefines enum, struct or union tag
C2026 given identifier already used as enum constant
C2027 given identifier refers to undefined enum, struct or union
C2028 struct/union member needs to be inside a struct/union
C2030 identifier used more than once in struct or union tag
C2031 function can't be use as struct or union member
C2033 bit field can't be declared as a pointer or use indirection
C2034 type of host bit field is too small for number of bits
C2035 given structure or union has undefined size
C2037 undefined struct or union identifier on left of -> or .
C2038 identifier is not a struct or union member
C2055 expected formal-parameter list instead of argument-type list
C2056 illegal expression; possibly from previous unreported problem
C2057 expected constant expression
C2058 expected integral constant expression
C2059 invalid token caused a syntax error
C2060 syntax error; EOF found before expected token
C2061 identifier caused syntax error
C2062 unexpected type
C2063 identifier is not a function but used as such
C2064 term does not evaluate to a function pointer
C2065 identifier not defined
C2066 illegal cast to function type
C2067 illegal cast to array type
C2068 illegal cast type used in expression
C2069 cast of void term to non-void is invalid
C2070 illegal sizeof operand; must be expression or type name
C2071 illegal storage class for identifier
C2072 attempt to initialize a function identifier
C2092 arrays of functions illegal; use array of ptrs to function
C2093 can't use address of auto variable as static initializer
C2094 label was undefined in function
C2095 void argument cannot be passed to function; (void *) may
C2096 struct & union comparison is illegal; compare members
C2097 illegal initialization
C2098 expected address as initialization expression
C2099 non-constant initializer
C2100 illegal indirection; * applied to a non-pointer value
C2101 address of operator '&' used on constant; requires lvalue
C2102 address of operator '&' requires lvalue
C2103 address of operator '&' can't be used on a register variable
C2104 address of operator '&' used on bit field not allowed
C2105 operator needs lvalue
C2106 left side of an operation must be lvalue
C2107 subscript applied to expression didn't evaluate to pointer
C2108 non-integral expression used as array subscript
C2109 subscript used on non-array variable
C2127 allocation for function parameters exceeds 32K
C2128 array crosses 2 segments & element size not power of 2
C2129 static function referenced was never defined
C2130 #line expected string containing file name; found other
C2131 more than one memory attribute applied to and identifier
C2132 syntax error : unexpected identifier
C2133 attempt to declare an unsized array as a local variable
C2134 struct or union too large; exceeded 64k
C2136 prototype must have a valid type for each variable
C2137 use of empty character constant '' is illegal
C2139 more than one type used in a variable declaration
C2140 argument can't be a function
C2141 enum constant value out of int range
C2143 expected 'token1' before 'token2' or missing ')', '}' or ';'
C2144 expected 'token' before 'type' or missing ')', '}' or ';'
C2145 expected 'token' before identifier or declaration missing ';'
C2146 expected 'token' before identifier
C2147 increment of index or array pointer with unknown base type
C2162 token following stringizing operator # isn't formal parameter
C2163 function in pragma not available as intrinsic function
C2164 intrinsic function not declared before use wit /Oi option
C2165 _pascal, _cdecl, _???? keywords can't modify pointers to data
C2166 attempt to modify item declared as const; lvalue is constant
C2167 too many parameters in call to an intrinsic function
C2168 too few parameters in call to an intrinsic function
C2169 function definition for function already declared intrinsic
C2170 intrinsic pragma used for function without intrinsic form
C2171 unary operator used on illegal operand type
C2172 non-pointer argument passed to a function expecting pointer
C2173 non-pointer argument passed to a function expecting pointer
C2174 cant pass parameter with void type to function
C2176 static huge data not supported by /qc; use halloc()
C2177 constant too large for data type
C2178 storage class for same_seg pragma variables must be extern
C2179 same_seg pragma variable class has changed from extern
C2207 middle member of struct/union has zero-sized array
C2208 enum, struct or union defined w/o members using /Za option
C2209 type cast used in _based construct must be (_segment)
C2210 base in _based declarator must be near/far data pointer
C2211 item cast in _based declarator can't be a function
C2212 _based not available for functions or pointers to functions
C2213 symbol used as base must be type _segment, near far pointer
C2214 _based pointer based on void can't be de-referenced; use :>
C2215 :> operator only for objects based on void
C2216 given function attributes are incompatible
C2217 function attribute requires another attributes also
C2218 type in _based construct must be void
C2219 const/volatile appeared where type or qualifier not allowed
C2220 no object file generated; warning treated as error due to /WX
C2221 left operand of '.' is pointer to struct/union, must use '->'
C2222 left operand of '->' is struct or union, must use '.'
C2223 left operand of '->' must be pointer struct or union
C2411 identifier is not a member of the specified struct or union
C2412 identifier redefined within current function
C2413 alignment size used with ALIGN directive missing or invalid
C2414 illegal number of operands in assembly code; see /G1 & /G2
C2415 improper operand type
C2416 illegal opcode for processor in assembly code; see /G1 & /G2
C2417 divisor used within the given context is zero
C2418 in-line asm identifier referenced as register and isn't
C2419 divisor argument to mod is zero in given context
C2420 given identifier is illegal in this context
C2421 PTR must not be used with register operand in this context
C2422 illegal segment override used in given context
C2424 given token used to form improper expression in this context
C2425 token used fto form non-constant expression in this context
C2426 given token is illegal operator in this context
C2427 jump referencing label is out of range
C2429 FAR PTR can't be use on jmp or call to label
Microsoft C Command-Line Errors
D2000 unknown CL command line error; contact Microsoft
D2001 too many symbols predefined with /D; max is 30
D2002 memory-model specification conflict; only 1 allowed
D2003 missing source file name for CL command
D2008 option specified too many times
D2011 more than one /FP option specified; only 1 allowed
D2012 too many linker flags in command; max of 128 flags/files
D2013 incomplete model specification in /A:
D2018 can't open linker response file
D2019 can't overwrite source with object file; output = input
D2020 /Gc requires extended keywords be enabled via /Ze
D2021 invalid numerical argument; numeric args must be < 65534
D2022 can't open help file for /HELP
D2027 CL could not execute one of the compiler components
D2028 too many open files; can't dup/redirect specified stream
D2030 internal compiler component error; contact Microsoft
D2031 too many flags/files in command; max of 128 arguments to CL
Microsoft C Command-Line Warning
D4000 unknown command line warning in CL; contact Microsoft
D4001 listing overrides assembly output; /Fc and /Fa used together
D4002 unknown flag ignored by CL command
D4003 multiple processors selected for code generation
D4005 CL could not locate compiler component
D4007 /C must be used in conjunction with /P or /E or /EP
D4009 threshold valid for far/huge data models only; /Gt ignored
D4011 preprocessor listing specified; source listing not generated
D4012 function prototyping specified; source listing not generated
D4013 combined listing /Fc overrides object listing /Fl
D4014 invalid value for option; default value used
D4018 .DEF files supported in OS/2 only (/Lr /Lc)
D4019 string too long for /ND, /NT, /NM, /St, /Ss option of CL
Microsoft Link Errors (incomplete list)
L2002 fixup overflow (probably incompatible memory models .OBJs)
Microsoft C Floating-Point Math Errors
M6101 invalid operation occurred; usually NAN or infinity problem
M6102 denormal; significance loss with very small generated number
M6103 attempt to divide by zero in floating-point operation
M6104 overflow in floating-point operation
M6105 underflow occurred in floating-point operation
M6106 inexact; loss of precision occurred in FP operation
M6107 unemulated/unsupported 8087/287/387 instruction executed
M6108 square root operand somehow became negative; C won't allow
M6110 coprocessor or emulator stack overflow
M6111 stack underflow due to unretrieved double return values
Microsoft C Run-Time Errors
R6000 stack overflow; stack needs enlarged or problem program
R6001 null pointer assignment, NULL segment modified
R6002 floating-point support not linked into executable
R6005 not enough memory to load child process (EXEC)
R6006 target executable is not a valid executable (EXEC)
R6007 invalid environment on exec of child process (EXEC)
R6008 not enough space for argument vector after program loads
R6009 not enough space for environment after program loads
R6010 abnormal program termination
R6012 illegal null near-pointer use
R6013 illegal out of range far-pointer use
R6016 not enough space for thread data
R6017 unexpected multithread lock error