4. Embedded QUEL for Fortran : Preprocessor Error Messages
 
Share this page                  
Preprocessor Error Messages
The following is a list of error messages specific to the Fortran language.
E_E10001
Unsupported Fortran type '%0c' used. Double assumed. Ingres does not support the Fortran types complex and double complex
Reason:
There is no Ingres type corresponding to complex or double complex, so the preprocessor does not map this declaration to an Ingres type. The preprocessor will continue to generate code as if you had declared the variable in question to be of type double precision.
Action:
If you want to store the two real (or double precision) components of a complex (or double complex) variable then declare a pair of real (or double precision) variables to the preprocessor, copy the components to them, and then store the copies.
E_E10002
Fortran parameter can only be used with values. Type names, variable names, and parameter names are not allowed.
Reason:
You have used the Fortran "parameter name = value" statement, but "value" is not an integer constant, a floating constant, or a string constant. You may have used the name of a Fortran data type, or a variable (or parameter) name instead of one of the legal constant types.
Action:
If you want Ingres to know about this name then you must change the "value" to be a constant.
E_E10003
Incorrect indirection on variable '%0c'. The variable is declared as an array and is not subscripted, or is subscripted but is not declared as an array (%1c,%2c).
Reason:
This error occurs when the value of a variable is incorrectly expressed because of faulty indirection. For example, the name of an integer array has been given instead of a single array element, or, in the case of string variables, a single element of the string (that is, a character) has been given instead of the name of the array. The preprocessor will continue to generate code, but the program will not execute correctly if it is compiled and run.
Action:
Correct the variable expression.
E_E10004
Last Fortran structure field referenced in '%0c' is unknown.
Reason:
This error occurs when the preprocessor encounters an unrecognized name in a structure reference. The preprocessor will continue to generate code, but this statement will either cause a runtime error or produce the wrong result if the resulting program is compiled and run.
Action:
Check for misspellings in field names and ensure that all of the structure fields have been declared to the preprocessor.
E_E10005
Unclosed Fortran block - %0c unbalanced end(s).
Reason:
The preprocessor reached the end of the file still expecting one or more closing end statements.
Action:
Make sure that you have no 'ends' in an unclosed character or string constant, or have not accidentally commented out a closing end. Balance each subroutine, or function statement with a closing end.
E_E10006
Unsupported definition of nested Fortran function '%0c'.
Reason:
EQUEL read the beginning of a subprogram (program, subroutine, or function) while still in a previous subprogram definition.
Action:
Ensure that the end statement for a previous subprogram definition is not missing.
E_E10007
No ## declare before first EQUEL/Fortran statement '%0c'.
Reason:
There is no ## declare statement before any Ingres statement. The generated code will probably not compile.
Action:
You must issue a ## declare statement before any Ingres statement.
E_E10008
Reissue of ## declare in Fortran program unit. The second declaration is ignored.
Reason:
The declare statement should be issued exactly once in each Fortran program unit. This error can also be caused by forgetting to ## the program, subroutine, or function line (and the matching end). EQUEL will ignore the extraneous declare statement.
Action:
Correct the code syntax.
E_E10009
No ## declare forms before forms statement '%0c' in Fortran program unit.
Reason:
There is no ## declare forms statement before the forms statement. The generated will probably not compile.
Action:
You must issue a ## declare forms statement before any forms statement.
E_E1000A
Undefined structure name '%0c' used in record declaration.
Reason:
You have declared a record variable using the name of a structure that is unknown to the preprocessor. The preprocessor will continue to generate code, but the resulting program will not run properly.
Action:
If you do not use this variable with an Ingres statement then remove the record declaration. Otherwise ensure that the corresponding structure declaration is made known to the preprocessor.
E_E1000C
Illegal length specified for Fortran numeric variable.
Reason:
Fortran integer variables may be 1, 2, or 4 bytes, and floating-point variables may be either 4 or 8 bytes. Specifying any other value is illegal.
Action:
Check the specification of your Fortran numeric variables.