SUMMARY
The following is an extract of the ERRORS.TXT file located in the
\F32\README\ directory of the Microsoft FORTRAN PowerStation installation.
Part 1 Compiler Error Messages
Part 2 LINK32 Error Messages
Part 3 LINK32 Warning Messages
Part 4 MS-DOS Extender Error Messages
Part 5 Floating-point Exception Error Messages
Part 6 Low Level Math Error Messages
Part 7 Run-time Library Error Messages
MORE INFORMATION
================
Part 1: Compiler Error Messages
-------------------------------
F2202 subprogram: defined with different number of arguments
-----
The specified ENTRY, FUNCTION or SUBROUTINE statement was defined or used
earlier in the program with a different number of arguments, or a Hollerith
constant was used as an argument.
F2625 subprogram: too many actual arguments
-----
The number of actual and formal arguments for the given subprogram did not
match. This may also occur when passing CHARACTER arguments to a subprogram
that is defined to receive non-character arguments. Passing CHARACTER
arguments causes additional information to be passed which will cause too
many actual arguments to be passed if the formal arguments are not declared
to be of type CHARACTER.
This practice is legal only when the C and VARYING attributes are specified
for the subprogram.
Part 2: LINK32 Error Messages
-----------------------------
LNK2120 number Undefined Externals
-------
The given number of external identifiers could not be resolved.
This error is preceded by LINK32 warning LNK4516, once for each identifier.
LNK2123 Can't convert object to Windows NT format
-------
A non-COFF object file could not be converted to COFF.
This error is preceded by either LNK2199, which gives a specific CVTOMF
error, or LNK4599, which gives a specific CVTOMF warning.
LNK2126 Unknown switch name
-------
The specified name is not a valid LINK32 option. The LINK32 options are as
follows:
/DEBUG:{NONE|FULL}
NONE Do not include debugging information.
FULL Include all debugging information.
/DEBUGTYPE:CV
Create CodeView4-format debugging information.
/FORCE
Create executable file despite unresolved externals.
/MAP[:filename]
Create a map file, and optionally name it.
/OUT:filename
Specify a name for the executable file.
/STACK:[reserve][,commit]
Specify total (reserve) and allocated (commit) stack size.
/VERSION:major[.minor]
Write a version number in the executable-file header.
LNK2131 No library file specified
-------
You ran LINK32 -LIB and specified /EXTRACT or /REMOVE, but you did not
specify the name of a library (.LIB file).
LNK2199 CVTOMF error : message
-------
A non-COFF object file could not be converted to COFF. The message gives
the reason for the CVTOMF error. This error is followed by LNK2123.
Other LINK32 Error Messages
---------------------------
LNK2102 Out of memory
LNK2103 File filename not found
LNK2104 Can't open file filename
LNK2105 Can't close file filename
LNK2106 Can't seek file to offset
LNK2107 Can't read file at offset
LNK2108 Can't write file at offset
LNK2109 Can't remove file filename
LNK2110 Can't rename file filename
LNK2113 Not a valid object
LNK2117 Syntax error in switch name
LNK2122 string is an invalid keyword
LNK2127 Library is corrupt
LNK2129 WeakExtern identifier missing aux symbol
LNK2130 Linker miscalc (base relocations off by number)
LNK2133 Size mismatch for symbol identifier
Part 3: LINK32 Warning Messages
-------------------------------
LNK4505 No modules extracted from libraryname
-------
You specified libraryname in the LINK32 -LINK command, but no references
from that library were used by your program.
LNK4514 Member module not found
-------
You ran LINK32 -LIB and specified /EXTRACT or /REMOVE, but the module was
not in the library.
LNK4516 identifier is undefined
-------
One of the following may be a cause:
- The program or subprogram called a subprogram in different source files
with different numbers of arguments.
- The program passed a character variable to a subprogram that expects a
noncharacter type, or vice versa. FORTRAN PowerStation passes a hidden
argument that contains the length of a string.
LNK4527 CVPACK error
-------
An error occurred during conversion of the debugging information. The
program will run but will not be able to be debugged. This error is
preceded by a CVPACK error.
LNK4599 CVTOMF warning : message
-------
A problem occurred during conversion of a non-COFF object file to COFF. The
message gives the reason for the CVTOMF warning. The resulting executable
file may not run.
Other LINK32 Warning Messages
-----------------------------
LNK4501 No object files specified
LNK4503 No linker member found
LNK4504 Bad object - fixup not aligned
LNK4506 symbol multiply defined, defined in objectfile
LNK4507 Bad object - fixup to far
LNK4508 Bad object - relocationtype is an unknown relocation address
LNK4509 Bad object - unmatched PAIR relocation - ignored
LNK4510 Invalid version number argument
LNK4511 Unknown subsystem argument
LNK4512 Found argument, expected i386, M68K, or mips
LNK4513 Image size is imagesize, KEY specified maxsize max
LNK4515 commitsize commit size larger than reserve, set to number
LNK4518 Can't apply gp relative fixup, gp not defined
LNK4519 Bad object - incorrect string table end - fixed
LNK4520 Based data overlaps code. Base code @ address
LNK4521 Based code overlaps data. Base data @ address
LNK4522 Found multiple matches for symbol
LNK4523 Base adjusted from offset to offset (next 64K multiple)
LNK4525 nodefaultlib switch in directive section in filename
LNK4526 library out of date
LNK4528 Obsolete switch -name ignored
LNK4529 bad object file (reloc to comdat "symbol")
LNK4530 Invalid file offset offset specified for section
LNK4532 "symbol" has a conflicting type in objectfile
LNK4533 converting object from OMF to COFF
LNK4534 Using default output filename filename
Part 4: DOSXMSF MS-DOS Extender Error Messages
----------------------------------------------
Note: Some of these errors can also be generated by the DOSXNT MS-DOS
Extender.
DX1010 DOS-Extended applications nested too deeply
------
One of the following may be a cause:
- The nesting limit was exceeded. A protected-mode application can
spawn a real-mode application, and a real-mode application can spawn
a protected-mode application, up to the limit of 5 of each kind of
application.
- The application contains an infinite loop.
- The executable was bound with an obsolete extender. Either relink or
run BINDMSF.EXE.
DX1020 unhandled exception: exceptionname
------
A problem exists in the MS-DOS-extended program. Additional information is
displayed after this error message.
Causes of this error include the following:
- Accessing memory beyond the range of a string or array.
- Passing a value argument to a subprogram that expects a reference
argument, or vice versa.
- Accessing an array that was not allocated.
- Using the LOC function in an invalid way.
If a Microsoft tool generated this error, note the circumstances of the
error and notify Microsoft Corporation by following the instructions in
the "Microsoft Support Services" section in one of your manuals.
DX1040 dllname: cannot load DLL; MS-DOS error number number
------
The MS-DOS extender cannot load the given DLL, due to an operating-system
error. The error is indicated by the given error code. Probably either
DEBUG.DLL or DOSXMSF.EXE is corrupt.
DX1070 stubname stub is out of date
------
The program you are attempting to run is not compatible with the version of
DOSXNT.EXE available to the program.
The program is a 32-bit MS-DOS-extended application. A compatible version
of the Microsoft DOSXNT MS-DOS Extender (DOSXNT.EXE) must exist in the same
directory or in a directory specified in the PATH environment variable.
One way this error can result is when Microsoft MASM 6.1 is installed in
the same directory as another language product. Either reinstall in
separate directories or update from this version of MASM.
DX1140 DOSXNT.386 driver required to run with Windows
------
For an MS-DOS-extended program that uses DOSXNT to run with the Microsoft
Windows operating system, the driver called DOSXNT.386 must be specified in
the [386Enh] section of SYSTEM.INI as follows:
DEVICE=path\DOSXNT.386
where path is the directory that contains the DOSXNT.386 file.
DX1180 cannot load program : reason
------
The MS-DOS extender could not load the MS-DOS-extended program for the
given reason. The reason can be one of the following:
- access denied to file
Change the access rights for the file.
- invalid or corrupted .EXE file
Note the circumstances of the error and notify Microsoft Corporation by
following the instructions in the "Microsoft Support Services" section in
one of your manuals.
- out of memory
Remove some TSRs or add more memory.
- too many open files
Either close some files or increase the number of file handles specified
in the FILES= statement in CONFIG.SYS.
DX1230 extendername initialization failed
------
Either DOSXMSF or DOSXNT could not intialize, probably due to insufficient
memory.
DX1240 DPMICodeAlloc: could not allocate DPMI resize segment - retcode
------ = number
There is insufficient memory for the MS-DOS extender to run.
DX1430 cannot load program : DLL not found
------
Probably DEBUG.DLL is not in a directory specified in the PATH environment
variable.
Other DOSXMSF DOS Extender Error Messages
-----------------------------------------
DX1060 cannot start program; real-mode multitasking not supported
DX1130 OS/2 support not available in this release
DX1150 out of ProtCall() stacks; use -NPCALLSTACKS
DX1160 too many nested calls between real and protected modes
DX1170 cannot load filename at hexaddress: no fixups
DX1210 cannot load program : unknown error code number
DX1310 command line error : command too long "command"
DX1370 cannot load program : too many open files
DX1380 cannot load program : access denied to file
DX1390 cannot load program : out of memory
DX1400 cannot load program : invalid drive
DX1420 cannot load program : invalid or corrupted .EXE file
DX1440 cannot load program : DLL attach routine failed
DX2000 DOS error number: message
DX2010 invalid pointer passed to free or realloc : hexaddress
DX2020 error closing extendername handle number
DX2030 error freeing environment
DX2040 error freeing process memory
Other DOSXMSF Errors
--------------------
The MS-DOS Extender may generate a system error (DX5nnn) in certain rare
situations. If a DX5nnn error occurs, note the circumstances of the error
and notify Microsoft Corporation by following the instructions in the
"Microsoft Support Services" section in one of your manuals.
Part 5: Floating-point Exception Error Messages
-----------------------------------------------
M6101 invalid
-----
An invalid operation occurred. This error usually occurs when operating on
a NAN (not a number) or infinity.
M6102 denormal
-----
A very small floating-point number was generated which may no longer be
valid due to loss of significance. Normally, calculations proceed on
denormals. To get this error message you must call SETCONTROLFPQQ without
the FPCW$DENORMAL flag.
M6103 divide by 0
-----
A floating-point operation attempted to divide by zero.
M6104 overflow
-----
An overflow occurred in a floating-point operation.
M6105 underflow
-----
An underflow occurred in a floating-point operation. Normally,
calculations proceed with the underflowed value set to 0.0. To get
this error message you must call SETCONTROLFPQQ without the
FPCW$UNDERFLOW flag.
M6106 inexact
-----
A floating-point operation occurred where the result was not representable
as an exact floating-point number. Normally, calculations proceed when an
inexact value results, because almost any floating-point operation can
produce an inexact result; the actual result is the rounded or truncated
result as determined by the current rounding mode. To get this error
message you must call SETCONTROLFPQQ without the FPCW$INEXACT flag.
Part 6: Low Level Math Error Messages
-------------------------------------
M6108 square root
-----
The operand in a square-root operation was negative.
(Note: The FORTRAN intrinsic function SQRT does not generate this message;
instead, SQRT generates the DOMAIN error M6201. You can get this error only
if you use the fsqrt instruction in an assembly-languge procedure.
M6110 stack overflow
-----
A floating-point expression caused a stack overflow on the math coprocessor
or the emulator.
M6111 stack underflow
-----
A floating-point operation resulted in a stack underflow on the math
coprocessor or the emulator.
M6201 function : DOMAIN error
-----
An argument to the given function was outside the domain of legal input
values for that function. For example, the following expression causes
this error: SQRT(-1.0)
This error calls the matherr() function with the function name, its
arguments, and the error type. You can rewrite matherr() to override
this behavior.
M6202 function : SING error
-----
An argument to the given function was a singularity value for this
function. The function is not defined for that argument. For example, the
following expression causes this error: LOG10 (0.0)
This error calls the matherr() function with the function name, its
arguments, and the error type. You can rewrite matherr() to override
this behavior.
M6203 function : OVERFLOW error
-----
The given function result was too large to be represented.
This error calls the matherr() function with the function name, its
arguments, and the error type. You can rewrite matherr() to override
this behavior.
M6205 function : TLOSS error
-----
A total loss of significance (precision) occurred.
This error calls the matherr() function with the function name, its
arguments, and the error type. You can rewrite matherr() to override
this behavior.
Part 7: Run-time Library Error Messages
---------------------------------------
F6421 file read-only or locked against writing
-----
The program tried to transfer data to a file that was opened in read-only
mode or locked against writing. The error message may indicate a CLOSE
error when the fault is actually coming from WRITE. This is because the
error is not discovered until the program tries to write buffered data when
it closes the file.