A keyword has been specified on a platform that does not support it.
Recovery
Remove the keyword.
The qualifier is being applied to an object with __thread attribute for which the qualifier is not valid.
Recovery
Remove the qualifier.
An LE informational message was detected while parsing #pragma runopts options.
An LE warning message was detected while parsing #pragma runopts options.
The compiler detected an error while processing pragma directive and cannot recover. The pragma will be ignored.
Recovery
Contact your IBM Representative.
The zero-sized array must be the last member in the class.
Recovery
Make the zero-sized array the last member of the class
Using a class with a zero-sized array as a base class will result in members being added after the array.
Recovery
Either remove the zero-sized array from the base class or re-structure the class hierarchy so the base class(es) don't include this base class.
The linkage of a virtual function must agree with the linkage of base class member functions that it overrides.
Recovery
Change the linkage keyword to agree with the base class method.
Virtual functions may not have 16 bit or Pascal linkage.
Recovery
Remove or replace the linkage modifier.
A statement on this line is incomplete.
Recovery
Either finish the incomplete statement or remove it.
The enum type is too large to fit in the storage requested with the enumsize pragma.
Recovery
Redefine the storage to a larger size.
The specified #pragma option is not within the range of valid values.
Recovery
Specify a value of 1, 2, or 4 on the #pragma enumsize.
The value specified on the #pragma enumsize must be an integer constant.
Recovery
Specify an integer constant of 1, 2, or 4 on the #pragma enumsize.
Alignment stack is empty. New packing value is set to either the alignment specified for this pragma or the default alignment for this module.
Recovery
Remove 'POP' operation, or ensure alignment stack has been set up correctly.
Identifier does not exist in alignment stack. New Packing value is set to either the alignment specified for the pragma or the default alignment for the module.
Recovery
Remove identifier, or ensure alignment stack has been set up correctly.
The max number of arguments to a function can be used on AS/400 is limited to 400.
Recovery
Change the program in a way that this limit will not be exceeded.
The compiler was unable to generate valid csect names.
Recovery
Use the #pragma csect to name the code and static control sections.
Recovery
Change the expression used in the divisor.
The pragma is not supported by this compiler.
Recovery
Change or remove the #pragma directive.
The option specified in the #pragma mapinc directive is not valid for the file selected. The possible reasons are :colon. (1) The option specified is key and the file is not a keyed file. (2) The option specified is indicators and either the file does not specify the INDARA keyword or there are no indicators in the record format. (3) The option specified is input, output, or both and the format does not contain any fields of this type. This can occur if the file is not externally described.
Recovery
Change the option specified to match the file.
The combination of options specified in the #pragma mapinc directive is not valid. (1) The options indicators and key are mutually exclusive. (2) Only one of the options input, output or both may be specified. The #pragma mapinc directive is ignored.
Recovery
Specify a valid combination of options.
The declaration conflicts with a previous declaration of the same name.
Recovery
Change one of the names or eliminate one of the declarations.
Defined symbols cannot be imported. The compiler will assume that you want to export this symbol rather than import it.
Only functions defined in this compilation can be used in pragma noinline directive.
Recovery
Remove the pragma noinline directve or define the function in this compilation unit.
The compiler cannot handle any size which is too large to be represented internally.
Recovery
Reduce the size of the array.
The compiler cannot handle any size which is too large to be represented internally.
Recovery
Reduce the size of the struct or union members.
The compiler detected an static storage declaration that has a constant greater than 16773104.
Recovery
Change the storage size to an integral constant expression less then or equal to 16773104.
The preprocessor is searching for the specified include file.
A qualifier has been specified on a platform that does not support it.
Recovery
Remove the qualifier.
The user attempted to declare or define a function that overloads the name of the main function.
Recovery
Change the name of the function being declared or defined.
The array bound should be a value less than or equal to max int.
Recovery
Reduce the number of elements in the array.
An attribute has been specified that conflicts with the previous declaration of a name.
Recovery
Remove the attribute.
A pragma has been specified on a platform that does not support it.
Recovery
Remove the pragma.
The command line has an option with a suboption that is not supported in the C++ language.
Recovery
Change/remove the suboption.
The intermediate code files could not be created. Please verify that the target file system exists, is writable and is not full.
Recovery
Ensure that the designated location for temporary objects exists, is writable and is not full.
#pragma import is not supported. The _Import keyword should be used in the symbol declaration.
Recovery
Remove #pragma import and add the _Import keyword to the symbol declaration.
This variable was assumed to be sharable because it was declared "const", but it is dynamically initialized. If that initialization may yield different values in different processes, the variable should be declared with the "__thread" specifier.
Recovery
Add "__thread" to the declaration if required.
A preprocessor macro was expanded inside a pragma directive. Please ensure that this is the desired result.
Recovery
Please ensure that the macro is intended for expansion.
A keyword has been specified on a platform that does not support it.
Recovery
Remove the keyword.
A keyword has been specified on a platform that does not support it.
Recovery
Remove the keyword.
A class is derived from another class whose object model is not the same as the derived class.
Recovery
Change the object model of the base or the derived class.
The option has been specified with a suboption that is not supported on the target platform.
Recovery
change the suboption, or remove the option.
The pragma has been specified with an argument that is not supported on the target platform.
Recovery
Remove the pragma or ignore this message.
The "%%" and "%%%%" digraphs will not be supported in the next release. Please use the new digraphs "% :colon." and "% :colon.% :colon.".
Recovery
Replace the old digraphs with the new digraphs.
The specified options cannot be used together.
Recovery
Change option values.
A external name is the same as the name defined in a pragma csect or the csect name generated by the compiler.
Recovery
Change either the external name or the csect name.
A duplicate #pragma csect is ignored.
Recovery
Remove the duplicate #pragma csect statement.
A preprocessor directive has been specified that has no effect.
Recovery
Remove the preproccessor directive.
Enum stack is empty. Size of enum is set to default value.
Recovery
Remove 'pop' or 'reset' operation, or ensure enum stack has been set up correctly.
This #pragma must be the first statement before any code and after the extern "spc" statement and its first (left) brace. It may not appear anywhere else within the scope of the extern. A semicolon will be inserted after the misplaced pragma.
Recovery
Place this #pragma as the first statement before any code and after the extern "spc" statement and its first (left) brace.
The operand for the #pragma spc storage suboperand must be an unsigned integer between zero and 0xFFFFFFFF, an identifier beginning with an "&", or an identifier beginning with a "%".
Recovery
Ensure that the operand is an unsigned integer or has a "&" or "%" as the first character.
The #pragma spc storage suboperand may only apply to those identifiers which have been declared.
Recovery
Declare the identifier within the function governed by the #pragma spc storage directive.
The #pragma spc instruction suboperand must be one of the following characters :colon. BAL, BALR, BAS, or BASR.
Recovery
Correct the instruction subfield in the #pragma instruction suboperand to match one of the four above.
The offset for the #pragma spc instruction suboperand must be an integer in the range 0 to 4095.
Recovery
Ensure that the operand is in the specified range.
The #pragma spc prolog or epilog operands may contain at most a macro name followed by optional macro parameters. If the macro macro parameters are specified, they must be separated from the macro name by at least one blank.
Recovery
Ensure that there are at most two subfields in the #pragma spc prolog or #pragma spc epilog suboperands.
The length of the macro name for the #pragma spc prolog or epilog suboperand must be in the specified range.
Recovery
Ensure that the length of the operand is in the specified range.
The length of the macro parameters for the #pragma spc prolog or epilog suboperand must be in the specified range.
Recovery
Ensure that the length of the operand is in the specified range.
The suboption specified in the first option conflicts with the second option. The first option is ignored.
Recovery
Correct the conflicting option or suboption.
The values specified for the -qarch and the -q32/64 options (or OBJECT MODE) are not compatible.
Recovery
Change option values.
The values specified for the -qtune and the -q32/64 options (or OBJECT MODE) are not compatible.
Recovery
Change option values.
![]()
Summary of Compiler Error Messages