0.5.1 H2INC Fatal Errors

Number Message

HI1003 error count exceeds n; stopping compilation
  Errors in the program were too numerous or too severe to allow recovery, and the compiler must terminate.
HI1004 unexpected end-of-file found
  The default disk drive did not contain sufficient space for the compiler to create temporary files. The space required is approximately two times the size of the source file.
  This message also appears when the #if directive occurs without a corresponding closing #endif directive while the #if test directs the compiler to skip the section.
HI1007 unrecognized flag string in option
  The string in the command-line option was not a valid option.
HI1008 no input file specified
  The compiler was not given a file to compile.
HI1009 compiler limit : macros nested too deeply
  Too many macros were being expanded at the same time.
  This error occurs when a macro definition contains macros to be expanded and those macros contain other macros.
  Try to split the nested macros into simpler macros.
HI1011 compiler limit : identifier : macro definition too big
  The macro definition was longer than allowed.
  Split the definition into shorter definitions.
HI1012 unmatched parenthesis nesting - missing character
  The parentheses in a preprocessor directive were not matched. The missing character is either a left, (, or right, ), parenthesis.
HI1016 #if[n]def expected an identifier
  An identifier must be specified with the #ifdef and #ifndef directives.
HI1017 invalid integer constant expression
  The expression in an #if directive either did not exist or did not evaluate to a constant.
HI1018 unexpected '#elif'
  The #elif directive is legal only when it appears within an #if, #ifdef, or #ifndef construct.
HI1019 unexpected '#else'
  The #else directive is legal only when it appears within an #if, #ifdef, or #ifndef construct.
HI1020 unexpected '#endif'
  An #endif directive appeared without a matching #if, #ifdef, or #ifndef directive.
HI1021 invalid preprocessor command string
  The characters following the number sign (#) did not form a valid preprocessor directive.
HI1022 expected '#endif'
  An #if, #ifdef, or #ifndef directive was not terminated with an #endif directive.
HI1023 cannot open source file filename
  The given file either did not exist, could not be opened, or was not found.
  Make sure the environment settings are valid and that the correct path name for the file is specified.
  If this error appears without an error message, the compiler has run out of file handles. If in DOS, increase the number of file handles by changing the FILES setting CONFIG.SYS to allow a larger number of open files. FILES=20 is the recommended setting.
HI1024 cannot open include file filename
  The specified file in an #include preprocessor directive could not be found.
  Make sure settings for the INCLUDE and TMP environment variables are valid and that the correct path name for the file is specified.
  If this error appears without an error message, the compiler has run out of file handles. If in DOS, increase the number of file handles by changing the FILES setting in CONFIG.SYS to allow a larger number of open files. FILES=20 is the recommended setting.
HI1026 parser stack overflow, please simplify your program
  The program cannot be processed because the space required to parse the program causes a stack overflow in the compiler.
  Simplify the program by decreasing the complexity of expressions. Decrease the level of nesting in for and switch statements by putting some of the more deeply nested statements in separate functions. Break up very long expressions involving ',' operators or function calls.
HI1033 cannot open assembly language output file filename
  There are several possible causes for this error:

The given name is not valid.

The file cannot be opened for lack of space.

A read-only file with the given name already exists.

HI1036 cannot open source listing file filename
  There are several possible causes for this error:

The given name is not valid.

The file cannot be opened for lack of space.

A read-only file with the given name already exists.

HI1039 unrecoverable heap overflow in Pass 3
  The post-optimizer compiler pass overflowed the heap and could not continue.
  One of the following may be a solution:

Break up the function containing the line that caused the error.

Recompile with the /Od option, removing optimization.

In OS/2, recompile using the /B3 C3L option to invoke the large-model version of the third pass of the compiler.

In DOS, remove other programs or drivers running in the system which could be consuming significant amounts of memory.

In DOS, if using NMAKE, compile without using NMAKE.

HI1040 unexpected end-of-file in source file filename
  The compiler detected an unexpected end-of-file condition while creating a source listing or mingled source/object listing.
  This occurs under OS/2 if the source file is deleted or overwritten while it is being read.
HI1047 limit of option exceeded at string
  The given option was specified too many times. The given string is the argument to the option that caused the error.
  If the CL or H2INC environment variables have been set, options in these variables are read before options specified on the command line. The CL environment variable is read before the H2INC environment variable.
HI1048 unknown option character in option
  The given character was not a valid letter for the option.
  For example, the following line

#pragma optimize("q", on)

  causes the following error

unknown option 'q' in '#pragma optimize'

HI1049 invalid numerical argument string
  A numerical argument was expected instead of the given string.
HI1050 segment : code segment too large
  A code segment grew to within 36 bytes of 64K during compilation.
  A 36-byte pad is used because of a bug in some 80286 chips that can cause programs to exhibit strange behavior when, among other conditions, the size of a code segment is within 36 bytes of 64K.
HI1052 compiler limit : #if/#ifdef nested too deeply
  The program exceeded the maximum of 32 nesting levels for #if and #ifdef directives.
HI1053 compiler limit : struct/union nested too deeply
  A structure or union definition was nested to more than 15 levels.
  Break the structure or union into two parts by defining one or more of the nested structures using typedef.
HI1090 segment data allocation exceeds 64K
  The size of the named segment exceeds 64K.
  This error occurs with _based allocation.
HI1800 option : unrecognized option
  A command-line option was specified that was not understood by H2INC.