The precompiled header cannot be used because the header file that created it was modified after the precompiled header file was generated.
Recovery
Delete the header or use the -genpcomp option to regenerate it.
The compiler is using the precompiled header file indicated.
The compiler detected a string that was not terminated before an end-of-line character was found.
Recovery
End the string or use "\" to continue the string on the next line. The "\" must be the last character on the line.
The compiler detected a character constant that was not terminated before an end-of-line character was found.
Recovery
End the character constant or use "\" to continue it on the next line. The "\" must be the last character on the line.
The call may have failed because no member function exists that accepts the 'const/volatile' qualifications of the object.
Recovery
Ensure the type qualifier is correct and that the function name is spelled correctly.
An active definition already exists for the macro name being defined. The second definition will be used.
Recovery
Remove or rename one of the macro definitions if necessary.
The identifier must be a variable name not a type name.
Recovery
Check that the identifier is a variable name and ensure the variable is not hidden by a type name.
A template name was found where a variable name was expected.
Recovery
Complete the template argument list or change the identifier to a variable name.
Option -qstrict is only meaningful is -qoptimize=3 is specified.
Recovery
Remove the -qstrict option or ignore the warning.
A template friend declaration must declare a class or a function following the template arguments.
Recovery
Change the template declaration to declare a class or a function.
A cast has been used to possibly modify a 'const' object. This may cause undefined behaviour at run-time.
Recovery
Remove the cast or make the object non-const.
Atomic bit-field cannot cross word boundary for SLIC and dword boundary for SLIC.
Only size of 1, 2 or 4 is allowed for __atomic struct in the VLIC environment.
You must specify #pragma HasHome for "&1" before you can specify #pragma IsHome for it.
Recovery
Specify the #pragma HasHome before the #pragma IsHome or remove the #pragma IsHome.
The pragma is only valid at file scope.
Recovery
Move the pragma so that it is in file scope.
A local class cannot have a friend function.
Recovery
Make the function a member function in the local class.
Either a #pragma &1&2 was not specified or a #pragma &1(pop) has already been encountered.
Recovery
Remove the pop or add on|off or iom|som|com|native|default to the pragma.
The fifth parameter (the control action) of the #pragma exception_handler directive is optional, but if a message identifier list is given on the directive, you must specify a control action. See the <except.h> header file for the list of valid control actions that can be specified on a #pragma exception_handler directive. The only control actions that can be specified when the handler is a label are _HANDLE and _HANDLE_NO_MSG.
Recovery
Specify a valid control action on the #pragma exception_handler directive.
The message identifier list specified on a #pragma exception_handler directive must be a string literal consisting of seven-character message identifiers separated by white-space (spaces, tabs or a comma).
Recovery
Specify a valid message identifier list.
Each message identifier specified on a #pragma exception_handler directive must consist of seven characters. The last four characters of each identifier must consist only of the digits 0 through 9 and the letters and A through F. The last four characters of MCH messages can only be the digits 0 through 9.
Recovery
Change the message identifier that is not valid.
The handler parameter specifies a function which does not have a single parameter of type _INTRPT_Hndlr_Parm_T *. This type is defined in except.h.
Recovery
Correct the prototype and the function definition.
The handler parameter specifies a function which does not have a single parameter of type _INTRPT_Hndlr_Parm_T *. This type is defined in except.h. The function name has been overloaded and no prototypes match this criteria.
Recovery
Include a correct prototype and function definition.
The label is referenced but not defined in the function. The label definition (label followed by a colon and a section of code) must appear in the same function that references the label.
Recovery
Define the label in the function or remove the reference.
The handler named on the #pragma exception_handler or cancel_handler directive cannot have OS linkage or built-in linkage nor can it be a non-static member function, template function, or member of a template class. The handler named on a #pragma exception_hander directive must be a function or a label; the handler named on a #pragma cancel_handler can only be a function.
Recovery
Change the handler's type.
The inliner is not able to inline this function without changing the behavior of the program. An out-of-line copy of the function will be generated in each compilation unit in which it is used.
Recovery
Remove the inline specification from the declaration so that a single out-of-line copy is generated.
#pragma argument for a function can only be defined once. Any subsequent specification will be ignored.
Function with linkage type such as "OS" or "built-in" are not allowed in the #pragma directive.
Recovery
Remove the linkage type or make it "C".
The function specified within the #pragma argument is either not defined or defined after the directive.
Recovery
Define the function before the #pragma argument directive.
Do not use a member function in #pragma weak. Use only standard functions.
Recovery
Replace the member function in the #pragma weak with a standard function.
The alignment has been changed during a class definition.
Recovery
Remove the #pragma align or place it before the class definition.
The syntax of the AS/400 host file name specified in the #pragma mapinc directive is not correct. The #pragma mapinc directive is ignored.
Recovery
Specify a correct AS/400 host file name. The syntax for a valid host file name is library-name/file-name(format-name).
The syntax of the option specified in the #pragma mapinc directive is not correct. The #pragma mapinc directive is ignored.
Recovery
Specify a valid option. The possible options are :colon. input, output, both, key, indicators, lvlchk or nullflds.
The syntax of the data type specified in the #pragma mapinc directive is not correct. The #pragma mapinc directive is ignored.
Recovery
Specify a valid data type for the #pragma mapinc directive. The data type can be d, p, z, _P, 1BYTE_CHAR, or "".
The compiler could not access an externally described file because the host communication line was busy.
Recovery
Make sure that the host communication line is active. Compile again.
The compiler could not access an externally described file because the host connection is not set up.
Recovery
Specify the environment variable ICCASNAME when the host connection is set up. Ensure the communication line is active. Compile again.
A communication error occurred when the compiler called the host to retrieve an externally described file.
Recovery
Restart the host connection. Compile again.
The compiler could not find the specified externally described file.
Recovery
Ensure the host file name exists. Ensure that the correct library is in the current library list if *LIBL is specified.
The compiler could not access the specified externally described file. The authority level associated with the current job on the host is not sufficient for accessing the specified file.
Recovery
Obtain authority to the externally described file or specify a file to which you have authority. Compile again.
The compiler could not access the specified externally described file. The file is locked by other users.
Recovery
Make sure that the specified file is not locked. Compile again.
No fields declared or no fields exist for the specified format. The fields do not match the options specified in the corresponding #pragma mapinc directive.
Recovery
Ensure the fields in the externally described file match the options specified in the #pragma mapinc directive.
At least one of the formats specified does not exist in the specified file. The formats in the file did not match the formats specified in the corresponding #pragma mapinc directive.
Recovery
Ensure the formats in the externally described file match the formats specified in the #pragma mapinc directive.
The option specified in the #pragma mapinc directive is output, or indicators, but the file selected is a physical or logical file. The #pragma mapinc directive is ignored.
Recovery
(1) Change the option to input, input key, both, both key or nullflds. (2) Specify a different file name in the #pragma mapinc directive.
The option specified in the #pragma mapinc directive is key, or nullflds but the file selected is a device file. The #pragma mapinc directive is ignored.
Recovery
(1) Change the option to input, input indicators, output, output indicators, both or both indicators. (2) Specify a different file name in the #pragma mapinc directive.
The compiler encountered an error when creating a file for an externally described file.
Recovery
Ensure that the directory pointed to by the file name in the #pragma mapinc directive has sufficient storage. If using a LAN drive, ensure that the LAN is working properly and you have permission to write to the disk.
Only pointers to USER domain space should be passed as arguments to "OS by_value" linkage functions, otherwise the call will fail. Typically this form of linkage is used to allow SYSTEM state programs to call USER state programs.
Recovery
Verify all arguments are pointers to USER domain.
The compiler has detected an attempt to disable a non existent exception handler.
Recovery
Verify the placement of the #pragma exception_handler, #pragma cancel_handler and #pragma disable_handler statements.
The pragmas map, import, and export can only be applied to objects or functions that are external.
Recovery
Give the identifier external linkage.
A function may be imported or exported at most once.
Recovery
Remove one of the directives.
The open command failed for file "&1".
Recovery
Ensure the output file name is correct. Also, ensure that the location of the output file has sufficient storage available. If using a LAN drive, ensure that the LAN is working properly and you have permission to write to the disk.
The function main cannot be exported.
Recovery
Remove the directive.
![]()
Summary of Compiler Error Messages