						/* warnings */
	
4001    "nonstandard extension used - '%Fs'"
4002    "too many actual parameters for macro '%s'"
4003    "not enough actual parameters for macro '%s'"
4004    "missing ')' after 'defined'"
4005    "'%s' : macro redefinition"
4006    "#undef expected an identifier"
4007    "'%Fs' : must be '%Fs'"
4008    "'%Fs' : '%Fs' attribute on data ignored"
4009    "string too big, trailing characters truncated"
4010    "'%Fs' : identifier is a MASM keyword"
4011    "identifier truncated to '%Fs'"
4012    "float constant in a cross compilation" /* XC */
4014    "'%Fs' : type of bit field must be unsigned"    /* QC2 */
4015    "'%Fs' : type of bit field must be integral"
4016    "'%s' : no function return type, using int as default"
4017    "cast of int expression to far pointer"
4018    "'%Fs' : signed/unsigned mismatch"
4020    "'%Fs' : too many actual parameters"
4021    "'%Fs' : too few actual parameters"
4022    "'%Fs' : pointer mismatch : parameter %d"
4023    "'%Fs' : _based pointer passed to unprototyped function : parameter %d"
4024    "'%Fs' : different types : parameter %d"
4026    "function declared with formal argument list"
4027    "function declared without formal argument list"
4028    "parameter %d declaration different"
4029    "declared parameter list different from definition"
4030    "first parameter list longer than the second"
4031    "second parameter list longer than the first"
4032    "unnamed struct/union as parameter"
4033    "function must return a value"
4034    "sizeof returns 0"
4035    "'%Fs' : no return value"
4037    "'%Fs' : formal parameters ignored" /* QC2 */
4038    "'%Fs' : formal parameter has bad storage class"        /* QC2 */
4040    "memory attribute on '%Fs' ignored"
4042    "'%Fs' : has bad storage class"
4044    "_huge on '%Fs' ignored, must be an array"
4045    "'%s' : array bounds overflow"
4046    "'&' on function/array, ignored"        /* QC2 */
4047    "'%s' : different levels of indirection"
4048    "array's declared subscripts different"
4049    "'%s' : indirection to different types"
4050    "'%s' : different code attributes"
4051    "type conversion - possible loss of data"
4052    "invalid numerical argument '%s'"
4053    "at least one void operand"
4056    "overflow in constant arithmetic"       /* QC2, c1, c23 */
4058    "address of automatic (local) variable taken, DS != SS" /* QC, c23 */
4059    "segment lost in conversion"    /* QC, c23 */
4060    "conversion of long address to short address"   /* QC2 */
4061    "long/short mismatch in argument : conversion supplied" /* QC, c23 */
4062    "near/far mismatch in argument : conversion supplied"   /* QC, c23 */
4067    "unexpected characters following '%s' directive - newline expected"
4068    "unknown pragma"
4069    "conversion of near pointer to long integer"    /* QC, c23 */
4071    "'%Fs' : no function prototype given"
4072    "'%Fs' : no function prototype on _fastcall function"
4074    "nonstandard extension used - '%s'" /* QC2 */
4075    "size of switch expression or case constant too large - converted to int" /* QC2 */
4076    "'%s' : may be used on integral types only"
4077    "unknown check_stack option"
4078    "case constant '%ld' too big for the type of switch expression"
4079    "unexpected token '%s'"
4080    "expected identifier for segment name, found '%s'"
4081    "expected a comma, found '%s'"
4082    "expected an identifier, found '%s'"
4083    "expected '(', found '%s'"
4084    "expected a pragma directive, found '%s'"
4085    "expected [on | off]"
4086    "expected [1 | 2 | 4]"
4087    "'%Fs' : declared with void parameter list"
4088    "'%Fs' : pointer mismatch : parameter %d, parameter list %d"
4089    "'%Fs' : different types : parameter %d, parameter list %d"
4090    "different 'const/volatile' qualifiers"
4091    "no symbols were declared"
4092    "untagged enum/struct/union declared no symbols"
4093    "unescaped newline in character constant in inactive code"
4095    "expected ')', found '%s'"
4096    "'%Fs' must be used with '%Fs'"
4098    "void function returning a value"
4100    "'%Fs' : unreferenced formal parameter"
4101    "'%Fs' : unreferenced local variable"
4102    "'%Fs' : unreferenced label"
4104    "'%s' : near data in same_seg pragma, ignored"
4105    "'%Fs' : code modifiers only on function or pointer to function"
4106    "pragma requires integer between 1 and 127"
4107    "pragma requires integer between 15 and 255"
4108    "pragma requires integer between 79 and 132"
4109    "unexpected identifier '%s'"
4110    "unexpected token 'int constant'"
4111    "unexpected token 'string'"
4112    "macro name '%s' is reserved, '%s' ignored"
4113    "function parameter lists differed"
4114    "same type qualifier used more than once"
4115    "'%Fs' : type definition in formal parameter list"
4116    "(no tag) : type definition in formal parameter list"
4118    "pragma not supported"
4119    "different bases '%Fs' and '%Fs' specified"
4120    "_based/unbased mismatch"
4123    "different base expressions specified"
4124    "_fastcall with stack checking is inefficient"
4125    "decimal digit terminates octal escape sequence"
4126    "'%c' : unknown memory model flag"
4127    "conditional expression is constant"
4128    "storage-class specifier after type"
4129    "'%c' : unrecognized character escape sequence"
4130    "'%Fs' : logical operation on address of string constant"
4131    "'%Fs' : uses old-style declarator"
4132    "'%Fs' : const object should be initialized"
4135    "conversion between different integral types"
4136    "conversion between different floating types"
4137    "'%Fs' : no return value from floating-point function"
4138    "'*/' found outside of comment"
4139    "'0x%x' : hex escape sequence is out of range"
4140    "'%Fs' : redefined, preceding references may be invalid"  /* QC */
4185    "near call to '%Fs' in different segment" /* QC, c23 */
4206    "assignment within conditional expression" /* QC, c23 */
4401    "'%s' : member is bit field"
4402    "must use PTR operator"
4403    "illegal PTR operator"
4404    "period on directive ignored"
4405    "'%s' : identifier is reserved word"
4406    "operand on directive ignored"
4407    "operand size conflict"
4408    "'%s' : ambiguous label"        /* QC2 */
4409    "illegal instruction size"
4410    "illegal size for operand"
4411    "'%s' : symbol resolves to displacement register"
4412    "'%s' : identifier is also assembler mnemonic"
4413    "'%Fs' : redefined, preceding references may be invalid"  /* QC2 */
4414    "'%Fs' : short jump to function converted to near"
4415    "'%s' : keyword is ignored for WIN32"  /* [1] new warning is added for win32 */
4798    " option is not valid for WIN32"  /*  " */
4799    "'%s' : unrecognized option"
4800    "more than one memory model specified"
4801    "more than one target processor specified"
4802    "ignoring invalid /Zp value '%d'"
4810    "untranslatable basic type size"
4811    "static function prototype not translated"
4812    "static variable declaration not accepted with /Mn switch"
4813    "record greater than %d bits in length"
4814    "record has non-field members; translating as STRUCT"
4815    "'%s' : EQU string truncated to 254 characters"
4816    "ignoring _fastcall function definition"
4820    "ignoring function definition : %Fs()"
4000    "UNKNOWN WARNING\n\t\tContact Microsoft Product Support Services"
						/* errors */
	
2001    "newline in constant"
2003    "expected 'defined id'"
2004    "expected 'defined(id)'"
2005    "#line expected a line number, found '%s'"
2006    "#include expected a file name, found '%s'"
2007    "#define syntax"
2008    "'%c' : unexpected in macro definition"
2009    "reuse of macro formal '%Fs'"
2010    "'%c' : unexpected in macro formal-parameter list"
2012    "missing name following '<'"
2013    "missing '>'"
2014    "preprocessor command must start as first non-white-space"
2015    "too many characters in constant"
2016    "no closing single quotation mark"
2017    "illegal escape sequence"
2018    "unknown character '0x%x'"
2019    "expected preprocessor directive, found '%c'"
2021    "expected exponent value, not '%c'"
2022    "'%ld' : too big for character"
2023    "divide by 0"
2024    "mod by 0"
2025    "'%s' : enum/struct/union type redefinition"
2026    "'%s' : member of enum redefinition"
2027    "use of undefined enum/struct/union '%Fs'"
2028    "struct/union member needs to be inside a struct/union"
2030    "'%Fs' : struct/union member redefinition"
2031    "'%Fs' : function cannot be struct/union member"
2033    "'%Fs' : bit field cannot have indirection"
2034    "'%Fs' : type of bit field too small for number of bits"
2035    "struct/union '%Fs' : unknown size"
2036    "left of '%s%s' must have a struct/union base type"     /* QC2 */
2037    "left of '%s' specifies undefined struct/union '%Fs'"
2038    "'%s' : not struct/union member"
2039    "'->' : left operand must point to struct/union"        /* QC2 */
2040    "'.' : left operand must have struct/union type"        /* QC2 */
2041    "illegal digit '%c' for base %d"
2042    "signed/unsigned keywords mutually exclusive"
2043    "illegal break"
2044    "illegal continue"
2045    "'%s' : label redefined"
2046    "illegal case"
2047    "illegal default"
2048    "more than one default"
2049    "case value '%ld' already used"
2050    "nonintegral switch expression"
2051    "case expression not constant"
2052    "case expression not integral"
2053    "case value %d already used"    /* QC2 */
2054    "expected '(' to follow '%Fs'"
2055    "expected formal-parameter list, not a type list"
2056    "illegal expression"
2057    "expected constant expression"
2058    "constant expression is not integral"
2059    "syntax error : '%s'"
2060    "syntax error : end-of-file found"
2061    "syntax error : identifier '%s'"
2062    "type '%s' unexpected"
2063    "'%s' : not a function"
2064    "term does not evaluate to a function"
2065    "'%s' : undefined"
2066    "cast to function type is illegal"
2067    "cast to array type is illegal"
2068    "illegal cast"
2069    "cast of void term to nonvoid"
2070    "illegal sizeof operand"
2071    "'%Fs' : illegal storage class"
2072    "'%Fs' : initialization of a function"
2075    "'%Fs' : array initialization needs curly braces"
2076    "'%Fs' : struct/union initialization needs curly braces"
2077    "nonscalar field initializer '%Fs'"
2078    "too many initializers"
2079    "'%Fs' uses undefined struct/union '%Fs'"
2080    "illegal far _fastcall function"
2081    "'%Fs' : illegal memory attribute"      /* QC2 */
2082    "redefinition of formal parameter '%Fs'"
2084    "function '%Fs' already has a body"
2085    "'%Fs' : not in formal-parameter list"
2086    "'%Fs' : redefinition"
2087    "'%Fs' : missing subscript"
2090    "function returns array"
2091    "function returns function"
2092    "array element type cannot be function"
2093    "cannot use address of automatic variable as static initializer"
2094    "label '%Fs' was undefined"
2095    "'%Fs' : actual has type void : parameter %d"
2096    "struct/union comparison illegal"
2097    "illegal initialization"
2098    "nonaddress expression"
2099    "nonconstant initializer"
2100    "illegal indirection"
2101    "'&' on constant"
2102    "'&' requires lvalue"
2103    "'&' on register variable"
2104    "'&' on bit field ignored"
2105    "'%s' needs lvalue"
2106    "'%s' : left operand must be lvalue"
2107    "illegal index, indirection not allowed"
2108    "nonintegral index"
2109    "subscript on nonarray"
2110    "pointer + pointer"
2111    "pointer + nonintegral value"
2112    "illegal pointer subtraction"
2113    "pointer subtracted from nonpointer"
2114    "'%s' : pointer on left; needs integral right"
2115    "'%s' : incompatible types"
2116    "'%s' : illegal %s operand" /* QC2 */
2117    "'%s' : illegal for struct/union"
2118    "negative subscript"
2119    "typedef types both define indirection"
2120    "void illegal with all types"
2121    "'%s' : bad %Fs operand"
2124    "divide or mod by zero"
2125    "'%Fs' : allocation exceeds 64K"          /* QC, c23 */
2127    "parameter allocation exceeds 32K"      /* QC, c23 */
2130    "#line expected a string containing the file name, found '%s'"
2131    "more than one memory attribute"
2132    "syntax error : unexpected identifier"
2133    "'%Fs' : unknown size"
2134    "'%Fs' : struct/union too large"
2136    "'%Fs' : prototype must have parameter types"
2137    "empty character constant"
2138    "unmatched close comment '*/'"  /* QC2 */
2139    "type following '%s' is illegal"
2140    "argument cannot be function type"
2141    "value out of range for enum constant"
2142    "ellipsis requires three periods"       /* QC2 */
2143    "syntax error : missing '%s' before '%s'"
2144    "syntax error : missing '%s' before type '%Fs'"
2145    "syntax error : missing '%s' before identifier"
2146    "syntax error : missing '%s' before identifier '%s'"
2147    "unknown size"
2148    "array too large"
2149    "'%Fs' : named bit field cannot have 0 width"
2150    "'%Fs' : bit field must have type int, signed int, or unsigned int"
2151    "more than one language attribute"
2152    "'%s' : pointers to functions with different attributes"
2153    "hex constants must have at least 1 hex digit"
2154    "'%Fs' : does not refer to a segment name"
2156    "pragma must be outside function"
2157    "'%s' : must be declared before use in pragma list"
2158    "'%s' : is a function"
2159    "more than one storage class specified"
2160    "## cannot occur at the beginning of a macro definition"
2161    "## cannot occur at the end of a macro definition"
2162    "expected macro formal parameter"
2163    "'%s' : not available as an intrinsic function"
2164    "'%s' : intrinsic function not declared"
2165    "'%s' : cannot modify pointers to data"
2166    "lvalue specifies const object"
2167    "'%Fs' : too many actual parameters for intrinsic"
2168    "'%Fs' : too few actual parameters for intrinsic"
2169    "'%Fs' : intrinsic function, cannot be defined"
2170    "'%s' : not declared as a function, cannot be intrinsic"
2171    "'%s' : illegal operand"
2172    "'%Fs' : actual is not a pointer : parameter %d"
2173    "'%Fs' : actual is not a pointer : parameter %d, parameter list %d"
2174    "'%Fs' : actual has type void : parameter %d, parameter list %d"
2175    "'%Fs' : unresolved external"   /* QC */
2176    "static huge data not supported by /qc" /* QC */
2177    "constant too big"
2178    "'%s' : storage class for same_seg variables must be extern"
2179    "'%Fs' : was used in same_seg, but storage class is no longer extern"
2180    "controlling expression has type void"
2181    "pragma requires command line option '%s'"      /* QC2 */
2182    "'%Fs' : has type void"
2183    "pragma requires command line option '%Fs'"     /* QC */
2185    "'%Fs' : illegal _based allocation"
2187    "cast of near function pointer to far function pointer"
2188    "#error : %s"   /* QC2 */
2189    "#error : %Fs"
2193    "'%Fs' : already in a segment"
2194    "'%Fs' : is a text segment"
2195    "'%Fs' : is a data segment"
2196    "/ML cannot be used with floating point"        /* QC */
2198    "'%Fs' : tried to be allocated in code segment '%Fs'"   /* QC2 */
2199    "'%Fs' : tried to be allocated in data segment '%Fs'"   /* QC2 */
2200    "'%Fs' : function has already been defined"
2201    "'%Fs' : storage class must be extern"
2202    "'interrupt' function must be 'far'"    /* QC2 */
2203    "'%s' function must be 'cdecl'" /* QC2 */
2204    "'saveregs/interrupt' modifiers mutually exclusive"     /* QC2 */
2205    "'%Fs' : cannot initialize extern block-scoped variables"
2206    "'%Fs' : typedef cannot be used for function definition"
2207    "'%Fs' in struct/union '%Fs' has a zero-sized array"
2208    "no members defined using this type"
2209    "type cast in _based construct must be (_segment)"
2210    "'%Fs' : must be near/far data pointer"
2211    "(_segment) applied to function identifier '%s'"
2212    "'%Fs' : _based not available for functions/pointers to functions"
2213    "'%s' : illegal argument to _based"
2214    "pointers based on void require the use of :>"
2215    ":> operator only for objects based on void"
2216    "'%Fs' may not be used with '%Fs'"
2217    "'%Fs' must be used with '%Fs'"
2218    "type in _based construct must be void"
2219    "syntax error : type qualifier must be after '*'"
2220    "warning treated as error - no object file generated"
2221    "'.' : left operand points to struct/union, use '->'"
2222    "'->' : left operand has struct/union type, use '.'"
2223    "left of '->%Fs' must point to struct/union"
2224    "left of '.%Fs' must have struct/union type"
2225    "'%Fs' : first member of struct is unnamed"
2226    "'%s' : keyword is not valid in WIN32 "   /* [2]new error type is added for win32 */
2227    " pointer based on void is not valid for WIN32 "
2400    "in-line syntax error in '%s', found '%Fs'"
2401    "'%s' : register must be base in '%s'"
2402    "'%s' : register must be index in '%s'"
2403    "'%s' : register must be base/index in '%s'"
2404    "'%s' : illegal register in '%s'"
2405    "illegal short forward reference with offset"
2406    "'%s' : name undefined in '%s'"
2407    "illegal float register in '%s'"
2408    "illegal type on PTR operator in '%s'"
2409    "illegal type used as operator in '%s'"
2410    "'%s' : ambiguous member name in '%s'"
2411    "'%s' : illegal struct/union member in '%s'"
2412    "'%Fs' : case insensitive label redefined"
2413    "'%s' : illegal align size"
2414    "illegal number of operands"
2415    "improper operand type"
2416    "'%s' : illegal opcode for processor"
2417    "divide by zero in '%s'"
2418    "'%Fs' : not in a register"
2419    "mod by zero in '%s'"
2420    "'%s' : illegal symbol in %s"
2421    "PTR operator used with register in '%s'"
2422    "illegal segment override in '%s'"
2424    "'%Fs' : improper expression in '%s'"
2425    "'%Fs' : nonconstant expression in '%s'"
2426    "'%Fs' : illegal operator in '%s'"
2427    "'%Fs' : jump referencing label is out of range"                        /* QC */
2428    "'%Fs' : segment redefinition"  /* QC2 */
2429    "'%Fs' : illegal far label reference"
2000    "UNKNOWN ERROR\n\t\tContact Microsoft Product Support Services"

						/* fatals */

1001    "Internal Compiler Error\n\t\t(compiler file '%s', line %d)\n\t\tContact Microsoft Product Support Services"
1003    "error count exceeds %d; stopping compilation"
1004    "unexpected end-of-file found"
1005    "string too big for buffer"
1006    "write error on compiler-generated file"
1007    "unrecognized flag '%s' in '%s'"
1008    "no input file specified"
1009    "compiler limit : macros nested too deeply"
1010    "compiler limit : macro expansion too big"
1011    "compiler limit : '%s': macro definition too big"
1012    "unmatched parenthesis - missing '%c'"
1013    "cannot open source file '%s'"  /* QC2 */
1014    "too many include files"
1015    "cannot open include file '%s'" /* QC2 */
1016    "#if[n]def expected an identifier"
1017    "invalid integer constant expression"
1018    "unexpected '#elif'"
1019    "unexpected '#else'"
1020    "unexpected '#endif'"
1021    "invalid preprocessor command '%s'"
1022    "expected '#endif'"
1023    "cannot open source file '%Fs'"
1024    "cannot open include file '%Fs'"
1025    "compiler terminated by user"   /* QC */
1026    "parser stack overflow, please simplify your program"
1027    "DGROUP data allocation exceeds 64K"    /* QC, c23 */
1028    "'%s' : segment allocation exceeds 64K" /* QC */
1031    "compiler limit : function calls nested too deeply"     /* QC, c23 */
1032    "cannot open object listing file '%s'"  /* QC, c23 */
1035    "expression too complex, please simplify"       /* QC, c23 */
1037    "cannot open object file '%s'"  /* QC, c23 */
1041    "cannot open compiler intermediate file - no more files"
1042    "cannot open compiler intermediate file - no such file or directory"
1043    "cannot open compiler intermediate file"
1044    "out of disk space for compiler intermediate file"
1045    "floating-point overflow"       /* QC2 */
1047    "limit of %s exceeded at '%s'"
1048    "unknown option '%c' in '%s'"
1052    "compiler limit : #if/#ifdef blocks nested too deeply"
1053    "compiler limit : struct/union nested too deeply"
1054    "compiler limit : initializers nested too deeply"
1055    "compiler limit : out of keys"
1056    "compiler limit : out of macro expansion space"
1057    "unexpected end-of-file in macro expansion (missing ')'?)"
1059    "compiler is out of near heap space"
1060    "compiler is out of far heap space"
1061    "compiler limit : blocks nested too deeply"     /* QC */
1062    "error writing to preprocessor output file"
1063    "compiler limit : compiler stack overflow"      /* QC */
1064    "compiler limit : token overflowed internal buffer"
1068    "cannot open file '%s'"
1069    "write error on file '%s'"      /* QC */
1070    "mismatched #if/#endif pair in file '%Fs'"
1071    "unexpected end-of-file found in comment"
1072    "'%Fs' : cannot read file"
1126    "'%Fs' : automatic allocation exceeds %s" /* QC, c23 */
1127    "'%Fs' : segment redefinition"
1801    "incomplete model specification"
1000    "UNKNOWN FATAL ERROR\n\t\tContact Microsoft Product Support Services"

