Converted from .HLP to .HTML by HLPTOHTML.

cc .HLP

ADDRDEPENDENCE

Message Potential dependence created by use of variable "****" within the expression which inhibited decomposition at loop control variable "****".

Informational You used a variable in an address dereferencing expression, which can cause a loop-carried dependency. Loop decomposition is inhibited. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action If you are sure that the target memory accessed conflicts with no other memory accessed during loop execution, use the ignore_dependency decomposition pragma to specify loop decomposition.

AGGREGATEDEPEND

Message Variable "****" has subscript expressions which are not the same, which inhibited loop decomposition at loop control variable "****".

Informational A variable's subscripts are not the same across two references to the variable, indicating a potential dependency. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action If the loop must be decomposed, then rework your algorithm or use the ignore_dependency decomposition pragma to disregard the dependency.

ANACHRONISM

Message The "****" operator is an obsolete form, and may not be portable.

Informational You used an old-style assignment operator such as =+ or =*. The message is issued if you specified /STANDARD=PORTABLE on the CC command line.

User Action For the program to be portable, reverse the order of the operator parts. For example, =+ should be += and =* should be *=. The old-style operators are supported by VAX C, but they may not be supported by other C compilers, and they are not guaranteed to be supported in future releases of VAX C.

ARGINVSTRPTR

Message The *** argument of "***" builtin function is not a pointer to structure or union with size: 1, 2, or 4 bytes.

Error A built-in function that takes a struct argument was not passed a struct of the appropriate size.

User Action Correct the call to the built-in function to pass the correct number and type of arguments.

ARGLISTOOLONG

Message Function reference specifies an argument list whose length exceeds the VAX architecture limit.

Error The size of your argument list in the function call exceeded 255 longwords.

User Action Rewrite the function definition and function call with a list whose member(s) take less space; for example, by passing floating-point and structure arguments by reference rather than by value. Recall that floating-point arguments occupy two longwords, and that structures passed by value occupy as many longwords as are necessary to contain the whole structure.

ARGNOFLOAT

Message The *** argument of "***" builtin function may not be floating point. The argument has been converted to an integer.

Warning An argument to a built-in function has a floating-point type when it should have an integer type.

User Action Correct the call to the built-in function to pass the correct number and type of arguments. If you really wish to pass a float argument, use an explicit cast.

ARGNOTINTPTR

Message The *** argument of "***" builtin function is not a pointer to integer.

Error An argument to a built-in function does not have the required type of pointer to some type of integer.

User Action Correct the call to the built-in function to pass the correct number and type of arguments. Check the arguments for missing "address of" operators (&).

ARGNOTLVALUE

Message The *** argument of "***" builtin function is not an lvalue.

Error An argument that is required to be an lvalue is a non-lvalue expression.

User Action Correct the call to the built-in function to pass the correct number and type of arguments. Make sure the appropriate arguments are lvalues.

ARGNOTPTRVAL

Message The *** argument of "***" builtin function is not a pointer.

Error An argument that is required to be some type of pointer does not have pointer type.

User Action Correct the call to the built-in function to pass the correct number and type of arguments. Check the arguments for missing "address of" operators (&).

ARGOVERFLOW

Message Length of the argument list for macro "****" exceeds buffer capacity; overflowing argument(s) considered to be null.

Warning The total length of the arguments in a macro reference exceeded the compiler's capacity to store the arguments before substitution.

User Action Shorten or eliminate one or more arguments.

ARGREADONLY

Message The *** argument of "***" builtin function is read-only.

Error An argument that is used by the function to modify memory is a pointer to const or read-only memory.

User Action Correct the call to the built-in function to pass the correct number and type of arguments. Make sure that arguments that the function uses to change memory point to writeable memory.

ARGSTOOFEW

Message Argument list for builtin function "***" contains too few arguments; the builtin function is being ignored.

Error Not all of the required arguments were specified.

User Action Correct the call to the built-in function to pass the correct number and type of arguments.

ARGSTOOMANY

Message Argument list for builtin function "***" contains too many arguments; excess arguments ignored.

Warning A function was called with extra arguments.

User Action Correct the call to the built-in function to pass the correct number and type of arguments.

ARRAYDEPENDENCE

Message Variable "****" has subscript expressions which are not the same, which inhibited loop decomposition at loop control variable "****".

Informational You have an array that has a loop-carried dependency due to your use of array subscripts. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action Rework your algorithm or use the ignore_dependency decomposition pragma to force decomposition.

BADCODE

Message Invalid code generation sequence.

Fatal An internal compiler error occurred.

User Action Gather as much information as you can about the conditions in effect when the error occurred, and submit an SPR.

BADPSECT

Message The program section (psect) specified by this statement has conflicting 'nowrite' attributes with another definition of the same program section.

Warning You specified two or more references to the same program section, and the attributes of the references do not correspond.

For example, this message appears when two globaldef definitions exist for the same name, but only one specifies the storage class readonly.

User Action Make all references to a program section consistent.

BITARRAY

Message The CDD description for "****" specifies that it is an array of bit fields; it has been converted to a scalar bit-field.

Informational The compiler generated a declaration of a bit field whose size is the same as the total size of the original CDD item. (VAX C does not support arrays of bit fields.)

User Action If the generated declaration is acceptable, you need not take any action; otherwise, change the CDD description as appropriate.

BITFIELDSIZE

Message The CDD description for bit-field "****" specifies a size greater than 32; the excess is declared separately.

Informational VAX C generated a series of bit-field declarations whose total size is the same as the original CDD item. (VAX C does not support individual bit fields larger than 32 bits.)

User Action If the generated declarations are acceptable, you need take no action; otherwise, change the CDD description as appropriate.

BOUNDADJUSTED

Message The CDD description for "****" specifies non-zero-origin dimension bound(s); adjusted to zero-origin.

Informational VAX C generated a declaration whose bound(s) have been adjusted to start at zero. The generated array had the same number of elements as the original CDD item. (VAX C does not support dimension bounds that do not start at zero.)

User Action Make sure that subscript expressions in references to this array are offset by the appropriate amounts.

BUGCHECK

Message Compiler bug check during ****. Submit an SPR with a problem description.

Fatal An internal error occurred during the specified phase of compilation.

User Action Gather as much information as possible about the conditions under which the error occurred, including the phase of compilation, and submit an SPR (see the VAX C Installation Guide).

BUILTARGCONV

Message The *** argument of "***" builtin function has been converted from pointer to arithmetic type.

Warning An argument that should have an integer or floating-point type instead had a pointer type.

User Action Correct the call to the built-in function to pass the correct number and type of arguments. If you wish to pass a pointer argument to an arithmetic argument, use an explicit cast.

CANTINLINECALL

Message Can't inline this call to "****" as requested because an offset into a by value parameter exceeds size of actual.

Informational The actual value of a parameter provided in a call was smaller in size than the corresponding formal parameter of the function, and uses of the formal parameter require the full amount of storage. This indicates that the type of the formal parameter does not match the type of the actual value provided in the call.

User Action Change either the formal parameter or the actual value provided in the call so that the type of the formal parameter exactly matches the type of the actual value.

CANTINLINECALL

Message Can't inline this call to "****" as requested because not enough actual parameters are supplied in the call.

Informational The number of parameters supplied in a call to the function is fewer than the number of formal parameters declared and used in the function. Function calls that do not supply enough parameters will not be expanded inline.

User Action Change the call so that all necessary parameters are supplied, or eliminate unneeded formal parameters from the function.

CANTINLINEPROC

Message Can't inline "****" as requested because it declares an exception handler.

Informational It was requested that a function be expanded inline. However, that function declares an exception handler. Since the function would not have a call frame, it cannot have an exception handler if it is to be expanded inline.

User Action Eliminate the exception handler, or remove the pragma that requests that the function be expanded inline.

CANTINLINEPROC

Message Can't inline "****" as requested because it takes the address of a passed by value parameter.

Informational The function uses operators such as & to take the address of a formal parameter, or uses the VARARGS package. These practices prevent inline expansion of the function because it may store parameters in registers (which have no address) after inline expansion, and because the programmer may have been relying upon the parameters being adjacent to each other in memory which will not be true after inline expansion.

User Action If possible, code the function without using the address of the parameter, or if an address is needed, then change the formal parameter to be a pointer to the value. If the VARARGS package is used, then remove the pragma requesting that the function be expanded inline.

CANTINLINEPROC

Message Can't inline "****" as requested because a variable offset into a by value parameter is used.

Informational A formal parameter is referenced with a run-time variable subscript. This is usually a parameter of type struct that contains a field that is an array. Functions that use formal parameters in this way will not be expanded inline.

User Action Pass a pointer to the struct instead of the struct itself, or remove the pragma that requests that the function be expanded inline.

CASECONSTANT

Message Case label value is not a constant expression.

Error You specified a value in a case label that was not a constant.

User Action Replace the case value with a valid constant expression.

CDDATTRIGNORED

Message The CDD description for "****" specifies the "****" attribute, which is being ignored.

Informational The CDD record description specifies an attribute for the indicated item that is not supported by VAX C. The compiler ignores the indicated attribute.

User Action None.

CDDNAMETOOLONG

Message The CDD identifier name exceeds 31 characters; "name truncated to "name.

Warning You specified an identifier name that exceeded 31 characters.

User Action Shorten or change the identifier name.

CDDTOODEEP

Message The attributes for the Common Data Dictionary record description "****" exceed the implementation's limit for record complexity.

Error The indicated record description was too complex for VAX C to generate usable declarations.

User Action Simplify the record description in the CDD.

CMPLXINIT

Message "****" is too complex to initialize.

Warning The depth of the indicated aggregate variable exceeded the limit of 32 levels.

User Action Simplify or correct the initializer list or declaration, or initialize the variable within an assignment statement.

COLMAJOR

Message The CDD description for "****" specifies that it is a column-major array; it has been converted to a one-dimensional array.

Informational VAX C generated a declaration for this item with a single dimension. (VAX C supports only row-major arrays.)

The number of elements in the array is the same as the total number of elements in the original array.

User Action Make sure that you properly compute references to this array.

COMPILERR

Message Previous errors prevent continued compilation. Please correct reported errors and recompile.

Fatal The compiler detected too many errors to continue.

User Action Correct the errors reported in the previous compiler messages.

COMPLEXINITEXPR

Message Loop decomposition inhibited due to complex loop initialization expression.

Informational A loop initialization expression was a function call or other complex expression. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action If the loop must be decomposed, rewrite the initialization section in the loop.

COMPLEXSTEPEXPR

Message Loop decomposition inhibited due to complex loop step expression.

Informational A loop step expression was a function call or other complex expression. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action If the loop must be decomposed, rewrite the step expression in the loop.

COMPLEXTERMEXPR

Message Loop decomposition inhibited due to complex loop termination expression.

Informational A loop termination expression was a function call or other complex expression. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action If the loop must be decomposed, rewrite the termination condition in the loop.

CONBUILTARG

Message Constant expression required for "****" argument of "****" builtin function.

Error Some built-in functions require that certain arguments be constants or expressions that the compiler can evaluate at compile time to produce a constant. If a nonconstant expression is used for any such argument, this error message is issued.

User Action Replace the offending argument expression with a constant. If the structure of the program requires that the built-in function be called with different values that can only be calculated at run time, consider using a switch statement to call the built-in function with different constant arguments on the basis of the run-time expression.

CONFLICTDECL

Message This declaration of "****" conflicts with a previous declaration of the same name.

Warning The compiler determined that both declarations refer to the same object, yet the two declarations conflict in data-type or storage-class organization.

In addition, for external variables and global symbols, the compiler may detect conflicting storage-class specifiers, or identifiers that are spelled the same but consist of letters that are in different cases. (The compiler converts all external and global names to the same case unless /NAMES=AS_IS was specified on the command line. If you choose to use /NAMES=AS_IS to retain case sensitivity of external symbol names, remember that all calls to the run time Libraries routines should be in uppercase. The libraries will not recognize the function name in any other form.) If the compiler issues an error message for this reason, the program may be correct; issuing a message in this instance is a warning against possible programming errors.

User Action If the declarations refer to the same object, make sure that they specify the same types and organizations. Otherwise, either rename one of the identifiers, or separate the scopes of the declarations.

CONTROLDEPEND

Message Loop "****" has no lifetime information, which inhibited loop decomposition at loop control variable "****".

Informational You have a loop that contains a goto, exit, or return statement. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action If the loop must be decomposed, then rework your algorithm.

CRXCONDITION

Message Common Data Dictionary description extraction condition.

Informational An anomaly occurred during the extraction of a CDD record description. The specific condition is described in an accompanying message. The severity of this message may be increased to warning or error depending on the specific condition.

User Action If necessary, correct the indicated condition in the CDD record description.

DEFAULTLONG

Message Alignment boundary for an auto variable cannot be greater than longword; boundary defaulted to longword.

Warning You have specified an alignment greater than longword for an automatic variable.

User Action Choose an alignment boundary less than or equal to longword for the automatic variable.

DEFTOOLONG

Message Text in #define preprocessor directive is too long; directive ignored.

Warning The length of the token string in the #define line exceeded the implementation's limit.

User Action Simplify the directive.

DESCOMABORT

Message /DESIGN=COMMENTS processing has been aborted due to an internal error. Please submit an SPR.

Warning An internal error has occurred during /DESIGN=COMMENTS processing. /DESIGN=COMMENTS processing cannot continue.

User Action Submit an SPR which includes the source code that produces this error, and the version of LSE and SCA being used. Compile with /DESIGN=NOCOMMENTS to use only the pseudocode placeholder support.

DESCOMERR

Message Error in processing design information

Warning An error has been found while processing the contents of a comment.

User Action Correct the problem described in the error message that follows the DESCOMERR message.

DESCOMSEVERR

Message A serious error has occurred processing /DESIGN=COMMENTS. Please submit an SPR.

Warning A serious but recoverable error has occurred during /DESIGN=COMMENTS processing. Comment processing will continue.

User Action Submit an SPR which includes the source code that produces this error, and the version of LSE and SCA being used.

DESCOMSPR

Message /DESIGN=COMMENTS processing has been aborted due to an internal error. Please submit an SPR.

Warning An internal error has occurred during /DESIGN=COMMENTS processing. Comment processing cannot continue.

User Action Submit an SPR which includes the source code that produces this error, and the version of LSE and SCA being used.

DESIGNTOOOLD

Message /DESIGN=COMMENTS processing routines are too old for the compiler. Please install a new version of LSE.

Warning VAX C requires a newer version of the /DESIGN=COMMENTS processing routines.

User Action Install a more recent version of LSE.

DIVIDEZERO

Message Constant expression includes divide by zero; the result has been replaced with 0.

Warning A division by 0 was encountered in a constant expression. The expression was replaced by 0.

User Action Made sure that no divisors in the expression can evaluate to 0.

DUPCASE

Message Duplicate case label value "****".

Error You specified more than one case for the indicated value in a switch statement. (The cases must be unique.)

User Action Change the case labels and/or combine the cases, as appropriate.

DUPDEFAULT

Message Duplicate default label.

Error You specified more than one default case in the same switch statement.

User Action Combine the cases or make other changes necessary to eliminate the duplicate(s).

DUPDEFINITION

Message Duplicate definition of "****".

Warning The named definition appeared more than once in the program.

The two definitions are essentially the same. Both definitions specify the same data types and organizations, but there may be differences in the values, initializers, or array bounds. If the name is a function, there may be a difference in the number or types of parameters, or in the contents of the function body.

User Action The purpose of this message is to call a possible programming error to your attention.

DUPINLINEFUNC

Message Duplicate [no]inline function "****" ignored.

Warning You duplicated a function name in one or more pragma declarations.

User Action Change the name of the function declaration.

DUPLABEL

Message Duplicate label "****".

Error You specified duplicates of the indicated label in the same function. (Label identifiers must be unique within a function definition.)

User Action Rewrite the labels (and goto statements that refer to them) to eliminate the duplicates.

DUPLISTITEM

Message Duplicate list item "****" ignored.

Warning You specified the same name more than once in a list of arguments to a #pragma directive.

User Action Remove the duplicate argument if it is redundant; otherwise, check for misspellings.

DUPMAINFUNC

Message Duplicate main function.

Warning You have defined two or more main functions in the same compilation unit. A main function is any function whose name is "main", or whose definition specifies the "main_program" function definition option.

User Action Make sure that there is only one such function in the compilation unit.

DUPMEMBER

Message Duplicate declaration of member "****" .

Warning You declared two members with the same name in the same structure.

User Action Rename one of the members or remove one of the member declarations.

DUPPARAMETER

Message Duplicate parameter "****" ignored.

Warning The stated function parameter occurred more than once in the function's formal parameter list. For example:

funct(a,b,c,a) { }

All occurrences of the parameter after the first are ignored.

User Action Remove or change the duplicate parameter identifier.

ENUMCLASH

Message Mismatched enum type in "****" operation.

Warning The indicated operation combined an enum variable or value with a value of a nonmatching type. The compiler issued this message if you used the /STANDARD=PORTABLE qualifier on the CC command line.

User Action Use a cast operation to cast either the enum value or the other value to a matching type.

ENUMOP

Message "****" is an undefined operation for enum values; enum operand(s) converted to int.

Warning You used an enum variable or constant with an arithmetic or bitwise operator. These operators are undefined for use with enum types. The operation is performed; however, the compiler treats the enum object as an integer.

User Action Cast the enum object to int.

EXTERNNAMETOOLONG

Message The external identifier name exceeds 31 characters; "name truncated to "name.

Warning You specified an external identifier name that exceeded 31 characters.

User Action Shorten or change the external identifier name.

EXTRACOMMA

Message Extraneous comma in **** ignored.

Warning You have coded an extra comma in the indicated context; the comma was ignored by the compiler.

User Action Make sure that any required item was not inadvertently omitted; otherwise, remove the extra comma.

EXTRAFORMALS

Message Extraneous formal parameter(s) ignored in declaration of "****"

Warning You included a function's formal parameters in a function declaration or definition.

For example, the following function declaration is not allowed because it names the function's parameters:

int funct(a,b,c);

The parameters a, b, and c are ignored.

Similarly, the following example defines a function returning a pointer to a function returning an integer. The names of the parameters of the function returning an integer are not allowed:

int (*f(p1,p2))(q1,q2) int p1, p2; {...}

The compiler ignores the parameters q1 and q2.

User Action Check the syntax of the function declaration and, if appropriate, remove the extra identifier(s).

EXTRAMODULE

Message Redundant #module preprocessor directive ignored.

Warning You specified more than one #module directive in a single compilation; the excess directive or directives were ignored.

User Action Make sure that only one #module directive exists in the source file, and that it is placed before any VAX C source code.

EXTRATEXT

Message Extraneous text in preprocessor directive ignored.

Informational Extra text appeared in the directive. For example:

#endif ABC

The compiler issued this message if you specified the /STANDARD=PORTABLE qualifier on the CC command line.

User Action Either remove the extra text or enclose it in a comment.

FATALSYNTAX

Message Fatal syntax error.

Fatal The compiler could not continue due to syntax errors.

User Action Correct the error in the indicated line and/or errors reported in previous compiler messages.

FILENOTFOUND

Message Include file could not be opened.

Fatal The compiler could not find the include file in any of the valid text libraries or directories.

User Action Check to see if the file does exist. Then check that the include method you used for this file will search for the file in the place where you expected it to search.

FLOATCONFLICT

Message The CDD description for "****" specifies the D_floating data type; the data cannot be represented when compiling with /G_FLOAT.

Message The CDD description for "****" specifies the G_floating data type; the data cannot be represented when compiling with /NOG_FLOAT.

Warning The data type of the indicated CDD item conflicted with the indicated command-line qualifier.

Only one of the two double-precision, floating-point data formats may be used in a compilation, as specified by the command-line qualifier (the default qualifier being /NOG_FLOAT). VAX C generates a declaration of an 8-byte structure for the item.

User Action Specify the appropriate command-line qualifier, or change the description of the item in the CDD.

FLOATOVERFLOW

Message Overflow during evaluation of floating point constant expression.

Error Overflow occurred during the evaluation of a constant expression containing floating-point operands.

User Action Make sure that the expression value is in the range 0.29 * 10**-38 to 1.7 * 10**38.

FUNCNOTDEF

Message Static function "****" is not defined in this compilation; assumed to be external.

Warning The indicated static function declaration did not refer to an existing definition. The compiler treated the function as external.

User Action Remove the storage-class specifier static in the function declaration or use the specifier in the appropriate function definition.

GLOBALENUM

Message Enumerators may not be initialized when declared with "globalref".

Warning You tried to specify the values of enumeration constants in a declaration of an enum variable with the globalref storage-class specifier.

You must define these values elsewhere, in a globaldef declaration, and you must not initialize them in the globalref declaration.

User Action Remove all initializing values from the globalref declaration.

IFEVALERROR

Message **** while evaluating #if or #elif expression; "true" expression assumed.

Warning The substitute text is "Stack overflow," or "Divide by zero."

User Action For stack overflow, reduce the complexity of the expression. Make sure that no divisors are 0.

IFSYNTAX

Message Syntax error in #if or #elif expression; true expression assumed.

Warning The #if or #elif expression on the indicated line cannot be evaluated because of syntax errors; it was assumed to be true.

User Action Correct the line.

IGNORED

Message Unexpected **** ignored.

Warning The compiler encountered an unexpected macro in the source program, and has ignored it. (This may be a syntax error.)

User Action Make sure that the macro and surrounding text is syntactically correct.

INCBUILTARG

Message Incorrect type for *** argument of "***" builtin function.

Error An argument to a built-in function has the wrong type.

User Action Correct the call to the built-in function to pass the correct number and type of arguments.

INLINCONF

Message Previous inline or noinline pragma for "****" conflicts with this pragma.

Warning You used both an inline pragma and a noinline pragma specifying conflicting inline specifications for one particular function.

User Action Determine whether you want the function to be expanded inline, and remove the conflicting pragma.

INSBEFORE

Message Inserted **** before ****.

Warning The compiler tried to recover from a syntax error by inserting a macro into the source.

User Action Correct the syntax.

INSMATCH

Message Inserted **** to match **** ****.

Message Inserted **** to match **** inserted earlier.

Warning The compiler tried to recover from a syntax error by inserting a macro to match a previous macro in the source code. The previous macro may or may not have been inserted by the compiler.

User Action Make sure that you match all parentheses, brackets, and braces.

INTERNALLIMIT

Message Loop decomposition inhibited due to compiler's internal limitations.

Informational You have too many loops within a single function for decomposition to proceed. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action If the loop must be decomposed, create two functions in place of the existing function or create nested loops in place of the single loops.

INTVALERROR

Message Integer value not used where required.

Error You used a noninteger value as an initializer for an enum constant, or to specify the size of a bit field. You must specify these values as integer constants.

User Action Specify an integer constant.

INTVALREQ

Message Non-integer value used incorrectly in a ****; converted to integer.

Warning You used a noninteger value in a switch statement or a case label. The value has been converted to integer.

User Action Specify switch expressions and case label values as integer values, or use a cast operator to make the conversion explicit.

INVAGGASSIGN

Message Invalid aggregate assignment.

Error You tried to assign an array to another array or to assign structures or unions of different sizes.

User Action Correct the assignment.

INVALIDIF

Message "****" is not a valid constant or operator in a #if or #elif expression; "true" expression assumed.

Warning You used an invalid construction in an #if or #elif expression, which is assumed to be true.

User Action Correct the expression.

INVALIGNSPEC

Message Invalid alignment specification ignored.

Warning You specified an alignment option that was not in the range allowed. The compiler ignored the specified option.

User Action Correct the alignment specification.

INVALINIT

Message The initialization of "****" is not valid.

Warning The indicated object cannot be initialized as specified. Some objects may not be initialized at all, such as functions, unions, and extern or globalref objects. In other cases, the initializer may not be appropriate, for example, a static pointer cannot be initialized with the address of an automatic variable. This and any subsequent initializers for the same object have been ignored.

User Action Eliminate or correct the initializer, or correct the type or storage class of the target object, or initialize the object with an explicit assignment.

INVANAFILE

Message The compiler has generated an invalid ANA file. Please submit an SPR with the sources which generate this error.

Warning The compiler generated an inconsistent .ANA file for this source file.

User Action Correct all other errors. If the error persists, submit an SPR.

INVARRAYBOUND

Message The declaration of "****" specifies a missing or invalid array bound.

Error In a declaration of an array, you omitted a required dimension bound value or specified an invalid value for a bound.

For multidimensional arrays, you must specify bounds for dimensions other than the first. You also must specify a bound for the first (or only) dimension if this declaration is a definition. Valid bound values are integer constant expressions greater than 0.

User Action Make sure that all required bounds are present and valid.

INVARRAYDECL

Message "****" is an improperly declared array.

Error You improperly declared an array, such as an array of functions.

User Action Make sure that the syntax of the declarator correctly describes the object. (The declared object may not be what you want.)

You may find the output from the /SHOW=SYMBOLS qualifier to be helpful in diagnosing this error.

INVASSIGNTARG

Message Invalid target for assignment.

Error You specified, as the left operand of an assignment operator, an expression that was not valid for assignment. For example, you may have tried to assign something to an array, to a function, to a constant, or to a variable declared with either the readonly storage-class modifier or the const data-type modifier.

User Action Make sure that the target is appropriate for assignments.

INVBREAK

Message Invalid use of the "break" statement.

Error You used break outside the body of a for, a while, a do, or a switch statement.

User Action Remove the break statement, or check that any braces in recent loops or switch statements are properly balanced.

INVBUILTIN

Message The "***" builtin function call is being ignored; it has invalid argument(s).

Error A call to a built-in function contains errors. This message usually follows other error messages describing errors in the argument expressions.

User Action Correct any errors listed before this one. Make sure that the function is called with the correct number and types of arguments.

INVCMDVAL

Message "****" is an invalid command qualifier value.

Fatal The indicated CC command qualifier value was acceptable to the VMS Command Language Interpreter (CLI), but it is meaningless to VAX C; for example, LIST_OPTS is an invalid value for /SHOW, although it is accepted by the CLI.

User Action Correct the qualifier value.

INVCONDEXPR

Message The second and third operands of a conditional expression cannot be converted to a common type.

Error You specified an invalid combination of operands in a conditional expression.

This can occur if the operands are pointers to objects of a different size or type, or if the operands are different structures.

User Action Make sure that both operands are of compatible sizes and data types.

INVCONST

Message "****" is an invalid numeric constant.

Warning The indicated constant contained illegal characters or was otherwise invalid.

User Action Correct the constant.

INVCONTINUE

Message Invalid use of the "continue" statement.

Error You used the continue statement outside the body of a for, a while, or a do statement.

User Action Remove the continue statement, or check that any braces in recent loops are properly balanced.

INVCONVERT

Message The source or target of a conversion is noncomputational.

Error One of the operands in an expression could not be converted as specified. For example, you tried to cast some object to a structure.

User Action Correct the expression or cast.

INVDATATYPE

Message "****" has an invalid data type for use in this #pragma preprocessor directive; directive ignored.

Error The indicated identifier was not declared with the data type required by the directive in which it appears. The entire directive was ignored by the compiler. For example:

#pragma ignore_dependency(p, q)

requires that "p" and "q" be pointer variables, and

#pragma safe_call (f, pf)

requires that "f" and "pf" be either functions or pointers to functions.

User Action Make sure that only appropriately-declared identifiers appear in these directives.

INVDEFNAME

Message Missing or invalid name in **** preprocessor directive.; directive ignored.

Warning The indicated directive was missing a required name. For example:

#define

The entire directive was ignored.

User Action Correct or remove the directive.

INVDICTPATH

Message Missing or invalid path name in #dictionary preprocessor directive; directive ignored.

Warning The indicated directive was missing a required name. For example:

#dictionary

The compiler ignores the entire directive.

User Action Correct or remove the directive.

INVFIELDSIZE

Message The declaration of "****" specifies an invalid field size; size of 32 bits assumed.

Warning The indicated field declaration was invalid because it specified too large a size.

User Action Correct the declaration to specify either a single, smaller field or several contiguous fields.

INVFIELDTYPE

Message The declaration of "****" specifies an invalid data type; type "unsigned" assumed.

Warning You declared a field with an invalid data type. Fields must be declared (and manipulated) as integers or enumerated types.

User Action Correct the declaration to specify a valid data type.

INVFILESPEC

Message Missing or invalid file specification in #include preprocessor directive; directive ignored.

Warning The #include directive either was missing a file or module name or specified one that is syntactically invalid. The directive was ignored.

User Action Correct the line.

INVFUNCDECL

Message "****" is an improperly declared function.

Error You improperly declared a function. For example, you may have omitted the parameter list or a semicolon between the function and a previous declaration.

User Action Correct the syntax of the declaration.

INVFUNCOPTION

Message Invalid function definition option "****" ignored.

Warning The indicated function definition option was not supported. (The only valid option is the main_program option.)

User Action Check the spelling of the option, or the syntax of the function definition.

INVHEXCHAR

Message Invalid hexadecimal character value; high-order bits truncated.

Warning An escape character specifed in hexadecimal exceeded the limit of a 1-byte character.

User Action Correct the hexadecimal constant to represent a valid escape character.

INVHEXCON

Message Hexadecimal constant contains an invalid character.

Error You specified an invalid hexadecimal constant, such as 0xG.

User Action Correct the constant.

INVIFNAME

Message Missing or invalid name in #ifdef or #ifndef preprocessor directive; "true" assumed.

Warning You specified no name, or a syntactically invalid one, in the directive; the result of the test is assumed to be true.

User Action Correct the directive.

INVINAGGASN

Message Invalid "***" builtin function call; structure or union arguments are not of same size.

Error A built-in function that requires two or more arguments be of the same size was called with arguments of different sizes.

User Action Correct the call to the built-in function to pass the correct number and type of arguments.

INVLINEFILE

Message Invalid file specification in #line preprocessor directive; directive ignored.

Warning The file specification was syntactically invalid, and the directive was ignored.

User Action Correct the directive.

INVLINELINE

Message Missing or invalid line number in #line preprocessor directive; directive ignored.

Warning The line number was missing or was syntactically invalid, and the directive is ignored.

User Action Correct the directive.

INVMAINRETVAL

Message Return value of main function is not an integer type.

Warning You have declared a main function with a return value that is not an integer type.

User Action Check for an omitted semicolon at the end of any declaration immediately preceding the declaration of the main function or change the return value specification to one of the integer types.

INVMODIDENT

Message Invalid ident specification in #module preprocessor directive; directive ignored.

Warning The ident specification in the directive either was not a valid identifier or was not a valid character-string constant.

User Action Correct the directive.

INVMODIFIER

Message "****" is an invalid data type modifier in this declaration.

Warning You specified a data-type modifier other than const or volatile as in the the following example:

char *int ptr;

The data-type modifier int will be ignored.

User Action Remove or change the data-type modifier.

INVMODTITLE

Message Missing or invalid title specification in #module preprocessor directive; directive ignored.

Warning The required title in the directive either was missing or was not a valid identifier.

User Action Correct the directive.

INVOCTALCHAR

Message Invalid octal character value; high-order bits truncated.

Warning The octal value in an escape sequence was too large, as in '\477'. Its high-order bits were truncated.

User Action Correct the value.

INVOPERAND

Message Invalid **** operand of a "****" operator.

Error You specified an invalid operand for the indicated operator.

This message is issued for arithmetic and bitwise operators if the operand is noncomputational (such as a structure). For other operators (such as the increment operator), the compiler issues the message if the operand is not an lvalue. For binary operators, the substituted text indicates which operand, left or right, is invalid.

User Action Make sure that the operand is the proper type for the operator, and that it is an lvalue.

INVPPKEYWORD

Message Missing or invalid keyword in preprocessor directive; directive ignored.

Warning You wrote a directive with no keyword. For example:

# ABC

The directive is ignored.

User Action Correct or remove the directive.

INVPROTODEF

Message The parameter list for a function prototype definition must associate an identifier with each type.

ERROR The function definition uses the prototype format but does not contain an identifier for each type in the parameter list.

User Action Place an identifier name in the appropriate type declaration.

INVPTRCVT

Message Invalid implicit conversion between a pointer and a non-pointer type.

Warning An implicit conversion (caused by assignment or by function prototype argument conversion) converted between a pointer and an integer too small to hold the pointer or between a pointer and a floating point number.

User Action Verify that the assignment is being made to the correct variable or that the correct function argument is being passed. If the suspicious operation flagged by this diagnostic really was intended, use an explicit cast to avoid the implied conversion.

INVPTRMATH

Message Invalid pointer arithmetic.

Error You tried to perform an invalid arithmetic operation on a pointer or pointers. The only valid arithmetic operations allowed with pointers are addition and subtraction.

For addition, the only forms allowed are as follows:

pointer + integer pointer += integer

For subtraction, the only forms allowed are as follows:

pointer - integer pointer -= integer pointer - pointer

In the last form, both pointers must point to objects of the same size.

User Action Make sure that the expression conforms to one of the previous forms listed. If necessary, cast one or both operands to a compatible type.

INVSTORCLASS

Message "****" is an invalid storage class in this declaration.

Message The "****" storage class is invalid for the declaration of "****".

Warning You made one of the following programming errors:

o You specified a storage class that is invalid in the context in which the declaration appears; for example, specifying auto in a declaration located outside of a function.

o You specified a storage class that is incompatible with another storage-class specifier; for example, specifying both static and extern.

o You specified a storage class that is incompatible with the data type of the indicated declarator; for example, specifying globalvalue for an array.

In all cases, the compiler ignores the storage-class specifier.

User Action Correct the declaration.

INVSUBUSE

Message Invalid use of subscripting.

Error You specified a subscript in reference to a bit field.

User Action Correct the syntax. If the structure containing the bit field is an array, you must specify the subscript(s) with the qualifier instead of the member name.

INVSUBVALUE

Message Invalid subscript value.

Error You specified a subscript value that is not an integer type.

User Action Change or cast the value to an integer type.

INVTAGUSE

Message Invalid use of tag "****".

Error You used a previously declared tag name in a declaration of a different type.

User Action Make sure that the use of tag names is unique to each of the data types, enum, struct, or union.

INVVARIANT

Message Invalid declaration of variant aggregate.

Error You specified a missing or invalid declarator in the declaration of a *variant_struct* or *variant_union*. For example, you have specified a list of declarators, a declarator of an array, a function, or a pointer type.

User Action Either declare the aggregate as an ordinary *struct* or *union* or specify a single, simple identifier as the declarator.

INVVOIDUSE

Message "void" is only valid in a parameter list when it appears alone. Its use is ignored.

Warning "void" has been used in a function prototype parameter list but is not the only item in the list.

User Action Either eliminate "void" or eliminate the extra parameter types in the parameter list.

LIBERROR

Message Error while reading library "****".

Fatal The compiler could not read the indicated library. Either it was not a text library, or its format had been corrupted.

User Action Verify the spelling of the library's name, and verify that it is a valid VMS text library.

LIBLOOKUP

Message "****" was not found in any of the specified libraries.

Fatal The compiler failed to locate the indicated #include module in any of the specified or default libraries.

User Action Check the CC command line to verify that the library containing the module was specified and that the module name, if specified, was spelled correctly. If the library was a default library, verify (with SHOW TRANSLATION C$LIBRARY) that its name is the equivalent for C$LIBRARY.

LISTTOOLONG

Message List in #pragma preprocessor directive is too long; directive ignored.

Warning You have specified more than 128 items in the list. The entire directive was ignored by the compiler.

User Action Split the list into separate directives.

LIVEOUTSIDELOOP

Message Variable "****" is in use outside the loop, which inhibited loop decomposition at control variable "****".

Informational You have a scalar variable that has recurrence in a loop or has a lifetime outside of the loop. This message is issued if you specify the /PARALLEL qualifier on the CC command line.

User Action If the loop must be decomposed, rework your algorithm or use the sequential_loop decomposition pragma to specify no decomposition for the loop.

MACDEFINREF

Message A macro cannot be **** during the scan of a reference to the macro; directive ignored.

Warning You tried to redefine or undefine a macro within a reference to it. The compiler ignores the preprocessor directive.

User Action Move the directive to a position outside of the macro reference.

MACNONTERMCHAR

Message Nonterminated character constant in macro argument; apostrophe added at end of line.

Warning You omitted the closing apostrophe in a character constant appearing in an argument in a macro reference.

User Action Correct the constant.

MACREQARGS

Message Macro reference requires an argument list; "****" not substituted.

Error You wrote a macro reference without an argument list. The reference was deleted from the source file.

User Action Correct the reference, specifying the same number of arguments as in the definition of the macro.

MACSYNTAX

Message Syntax error in macro definition; line ignored.

Warning The syntax of the parameter list in a macro definition was invalid. (You must enclose the parameter list in parentheses and delimit individual parameters with commas.)

User Action Correct the syntax.

MACUNEXPEOF

Message Unexpected end-of-file encountered in a macro reference; "****" not substituted.

Error The end-of-file was encountered during a macro reference; the reference was deleted.

User Action See if you misplaced the closing parenthesis in the macro argument list.

MAXMACNEST

Message Maximum text replacement nesting level exceeded; "****" not substituted.

Error You specified a macro reference that is recursive or otherwise causes repeated substitutions to a depth greater than the implementation maximum of 64.

User Action Correct the recursion or simplify the definitions.

MERGED

Message Merged **** and **** to form ****.

Warning The compiler merged two separate source macros into a single macro.

For example, two plus signs separated by a space may be merged to form the increment operator (++).

User Action If the compiler's action is correct, remove the space between the macros. Otherwise, check for a missing macro between those merged.

MISARGNUMBER

Message The number of arguments passed to the function does not match the number declared in a previous function prototype.

Warning The function call contains too few or extra arguments.

User Action Correct the number of arguments passed to the function. If the prototype is incorrect, correct the prototype.

MISPARAMNUMBER

Message The number of parameters declared does not match the number declared in a previous function prototype.

Warning A function prototype for this function, which appears earlier in the source file, contains a different number of parameters than this declaration.

User Action Determine which declarator is correct and modify the declarator to match it.

MISPARAMTYPE

Message The type of parameter "****" does not match the type declared in a previous function prototype.

Warning The type of a parameter in a function definition does not match the type specified for that parameter in the previous prototype.

User Action Determine which type is correct for that parameter and correct either the function definition or the prototype.

MISPARENS

Message Mismatched parentheses in #if or #elif expression; "true" expression assumed.

Warning The expression in a #if or #elif preprocessor directive contained unbalanced parentheses.

User Action Make sure that you balanced the parentheses in the expression.

MISSENDIF

Message Missing #endif preprocessor directive(s).

Error The compiler did not encounter an #endif directive for the most recent #if, #ifdef, or #ifndef directive.

User Action Be sure that all directives are properly structured, and, if appropriate, add the missing #endif preprocessor directive(s).

MISSEXP

Message Missing or invalid exponent in float constant; zero exponent ('e0') assumed.

Warning You wrote a floating-point constant with the letter 'e' or 'E' but with no exponent or an invalid exponent. The exponent was assumed to be zero.

User Action Correct the constant.

MISSPELLED

Message Replaced **** with ****.

Warning You misspelled a reserved word.

User Action Correct the spelling.

MISWIDETYPE

Message The prototype for this function does not specify the default widened type for the parameter.

Error A prototype was declared with a parameter having a type that is, by default, widened with old-style function definitions. For instance, a float is, by default, sized to a double for old-style function definitions. If a prototype is in scope with a size of float, then the argument will not have the size that the function expects.

User Action Correct the declaration in the prototype to specify the larger widened type. If the type is a float, then specify double.

MODULENAMELONG

Message Identifier name in #module exceeds 31 characters; "name" truncated to "name".

Warning You specified an identifier name that exceeded 31 characters.

User Action Shorten or change the identifier name.

MODZERO

Message Constant expression includes mod 0; the result has been replaced with 0.

Warning The constant expression had an invalid mod expression, such as 5 % 0. The result was 0.

User Action Correct the expression (but note that its operands must not be floating point).

NAMETOOLONG

Message Identifier name exceeds 255 characters; truncated to "****".

Warning VAX C identifiers are limited to a length of 255 recognized characters.

User Action Shorten the indicated identifier.

NESTEDCOMMENT

Message Nested comment encountered.

Informational The compiler detected an opening comment delimiter (/*) within another comment. (VAX C does not support the nesting of comments; the first ending comment delimiter (*/) encountered ends the comment.)

User Action Check that you have not misplaced a comment delimiter and inadvertently "commented out" necessary code.

NESTEDDUPTAG

Message Duplicate definition of tag "****" is nested within its definition.

Error You have attempted to define a tag within a structure or union which also defines the same tag.

User Action Use a different name for the nested tag.

NOBJECT

Message No object file produced.

Informational The compiler did not produce an object file, due to conditions reported in previous messages.

User Action Make the corrections suggested by the other message(s).

NOFLOATOP

Message The **** operand of a "****" operator has been converted from floating-point to integer.

Warning The compiler converted the operand to an integer.

The left or right operand of the indicated binary operator, or the operand of the indicated unary operator, cannot be of type float or double.

User Action Change or cast the operand to an integral type.

NOLIFETIME

Message Variable "****" has no lifetime information, which inhibited loop decomposition.

Informational You have a loop that contains too many scalar variables. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action If the loop must be decomposed, reorder the declarations of your scalar variables so that the variables most important for decomposition are declared first.

NOLISTING

Message No listing file produced.

Informational The compiler did not create a listing file (usually due to previously reported errors).

User Action None.

NOMIXNMATCH

Message The parameter list of a function can either contain all identifiers or all types, but not both.

Error The parameter list of a function contains some type specifiers and some identifiers that do not have type specifiers.

User Action Either eliminate the type specifiers or add type specifiers to the identifiers that are missing them to create a valid function prototype.

NONAUTOMATIC

Message Variable "****" is not declared automatic, which inhibited loop decomposition at loop control variable "****".

Informational You have a loop control variable that does not have the [auto] storage class. Only [auto] variables can be placed in registers and placing scalars in registers is required for decomposition to occur. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action If the loop must be decomposed, declare the loop control variable to be [auto].

NONEXTERN

Message Array "****" is not declared external, which inhibited loop decomposition at loop control variable "****".

Informational You have a scalar variable in a loop that has the globaldef or static storage class. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action If the loop must be decomposed, change the declaration of the scalar variable to [auto] or [extern].

NONOCTALDIGIT

Message Octal escape sequence in a character or string constant terminated by a nonoctal digit.

Warning There was an 8 or 9 in the second or third position of an octal escape sequence. In this case, the digits preceding the nonoctal digit were evaluated, and the 8 or 9 was considered a separate character. The compiler issued this message if you used the /STANDARD=PORTABLE qualifier on the CC command .b.i-14 User Action Make sure that the escape sequence contains only octal digits. If the 8 or 9 is separate from the escape sequence, yet must immediately follow it, then pad the escape sequence to three digits using leading zeros.

NONOCTALESC

Message Escape sequence in a character or string constant starts with a non-octal digit.

Warning The first of three digits of an escape sequence was an 8 or 9. In this case, the backslash is ignored, and the 8 or 9 was treated as a character. The compiler issued this message if you used the /STANDARD=PORTABLE qualifier on the CC command line.

User Action Make sure that the compiler correctly resolves the ambiguity.

NONPORTADDR

Message Taking the address of a constant may not be portable.

Informational You used an ampersand operator with a constant in the argument list of a function call. (VAX C permits this special case, but other compilers may not.)

User Action If you do not require portability, no action is necessary. Otherwise, correct the line.

NONPORTARG

Message Passing a structure by value may not be portable.

Informational You passed a structure by value in a function call or declared a function parameter as a structure. This message is issued if you used the /STANDARD=PORTABLE option on the CC command line.

User Action If the program must be portable, pass the structure by reference.

NONPORTCLASS

Message Storage class "****" is not portable.

Informational This message was issued against the use of the globalref, globaldef, globalvalue, readonly, or noshare storage-class specifiers. This message is issued if you specified the /STANDARD=PORTABLE qualifier on the CC command line.

User Action No action is necessary if you do not require compatibility with other C compilers. Otherwise, correct the line.

NONPORTCOMP

Message Comparisons between pointers and integers may not be portable. Comparisons between pointers to different types may not be portable.

Informational You compared the value of a pointer or an address expression with either an integer expression, a nonzero integer constant, or a pointer or address expression of a different type. Such usage may not be portable and is not recommended. The only portable pointer comparisons are between a pointer and the integer constant 0, or between pointers to objects of the same type. This message is issued only if you specified /STANDARD=PORTABLE on the CC command line.

User Action Cast one of the operands to be the same type as the other.

NONPORTCONST

Message Character constant **** may not be portable.

Informational VAX C allows up to four characters to be specified in a character constant, but other compilers may not. The compiler issues this message if you use the /STANDARD=PORTABLE qualifier on the CC command line.

User Action If you do not require portability, no action is necessary.

NONPORTCVT

Message Conversions between pointers to different types may not be portable.

Informational You converted a pointer or an address expression to an integer type or to a different pointer type, or an integer expression or a nonzero integer constant to a pointer type. Such usage may not be portable and is not recommended. The only portable assignments are between pointers to objects of the same type or converion of the integer constant 0 to any pointer type. This message is issued if you specified /STANDARD=PORTABLE on the CC command line.

User Action Change the operands or cast them to the same type.

This usage is not portable and is not recommended. The only portable assignment is the following:

pointer = 0

NONPORTINCLUDE

Message #include of a library module is not portable.

Informational The specification of a library module name in an #include preprocessor directive is VAX C specific and is not portable. This message is issued if you specified the /STANDARD=PORTABLE qualifier on the CC command line.

User Action No action is necessary if you do not require compatibility with other C compilers.

NONPORTINIT

Message Automatic initialization for "****" may not be portable.

Informational You initialized an array or structure of storage class auto. This message is issued if you specified /STANDARD=PORTABLE on the CC command line.

User Action If you require portability, use separate assignment statement(s) to set the initial value(s).

NONPORTOPTION

Message The "****" function definition option is not portable.

Informational The VAX C function definition options are VAX C specific and are not portable. The compiler issued this message if you used /STANDARD=PORTABLE on the CC command line.

User Action No action is necessary if you do not require compatibility with other C compilers.

NONPORTPPDIRX

Message The **** preprocessor directive is not portable.

Informational You used the #dictionary or #module preprocessor directive.

These directives are VAX C specific and may not be recognized by other compilers. The compiler issues this message if you specified /STANDARD=PORTABLE on the CC command line.

User Action No action is necessary if you do not require program portability.

NONPORTPTR

Message The use of an integer value as a pointer qualifier for "****" may not be portable.

Informational In a reference to a structure or union member accessed via the "->" operator, the qualifying expression to the left of the "->" should have a pointer value. VAX C allows the use of integer values as well, but such usage is not portable. This message is issued if you specify /STANDARD=PORTABLE on the CC command line.

User Action Either use a true pointer expression as the qualifier, or cast the integer expression as an appropriate structure or union pointer.

NONPORTTYPE

Message Data type "****" is not portable.

Informational You used the data type variant_struct or variant_union in a declaration or cast. This message is issued if you specify /STANDARD=PORTABLE on the CC command line.

User Action No action is necessary if you do not require program portablility.

NONSEQUITUR

Message "****" is not a member of the specified structure or union.

Informational In a reference to the indicated member name, you specified a qualifier that does not represent the structure or union to which the member belonged.

The reference is valid, because the member name is unique and the offset can be resolved unambiguously. This use of member names is maintained only for compatibility with older programs.

User Action If the qualifier is a pointer, cast it as a pointer to the appropriate structure or union.

NONTERMCHAR

Message Nonterminated character constant; **** assumed.

Warning The compiler encountered the end of the source line before the end of a character constant. The compiler assumed the indicated value.

User Action Correct the constant.

NONTERMNULCHAR

Message Nonterminated character constant contains no characters; '\0' assumed.

Warning The compiler detected a single apostrophe (') at the end of the source line.

User Action Check to see if there is an extra apostrophe; otherwise, correct the constant.

NONTERMPLACE

Message Nonterminated placeholder.

Warning You have coded a placeholder that was not properly terminated before the end of the source line.

User Action Make sure that the ending delimiter of the placeholder is present, and that it properly matches the opening delimiter.

NONTERMSTRING

Message Nonterminated string constant; quotes added at end of line.

Warning The compiler encountered the end of the source line before the end of a character string. The compiler inserted a quotation mark (") at the end of the line.

User Action Check to see if the string should be continued on the following line; if so, insert a backslash (\) at the end of the line. Otherwise, check for the missing quotation mark.

NOOPTIMIZATION

Message Complex control flow caused optimization to be suppressed for procedure or function "****".

Informational Optimization was not performed for the indicated function.

User Action To take advantage of optimization, simplify the control flow within the indicated function.

NOSUBSTITUTION

Message Macro substitution cannot be performed during the scan of a macro reference; "****" not substituted; directive ignored.

Message Macro substitution cannot be performed during the scan of a macro reference; "****" not substituted; "true" expression assumed.

Warning You wrote a complex macro reference that contained a preprocessor directive, which in turn contained another macro reference. For example:

macref1 ( arg1, #include MACREF2 . . ,argn)

The substitution of MACREF2 was not performed and the directive containing it was ignored. If the directive was either #if or #elif, the expression would be assumed to be true.

User Action Restructure your code so that the directive is not contained within the macro reference.

NOTFUNCTION

Message Function-valued expression not found.

Error You used an expression in the context of a function call, but the expression does not evaluate to a function.

User Action Make sure that the expression properly evaluates to a function; also make sure that you properly dereference any pointer to a function.

NOTPARAMETER

Message "****" is not listed in the function's formal parameter list; treated as if declared internally.

Warning You declared the specified identifier as a function parameter, but the identifier does not appear in the parameter list. For example:

f(a) int a,b; {...}

The identifier b does not appear in the function f's formal parameter list. Its declaration is not portable, and is probably a coding error. The compiler treats b as if it were declared inside the function definition; in this case, b becomes an automatic variable.

User Action Correct the declaration or the parameter list.

NOTPOINTER

Message Address-valued expression not found.

Error You used an expression in a context requiring a pointer value but the expression did not evaluate to an address.

User Action Make sure that the expression evaluates to a pointer value.

NOTSAFECALL

Message Function "***" inhibited loop decomposition at loop control variable "****".

Informational You have a function that inhibited loop decomposition at a loop control variable. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action If the loop must be decomposed and the function does not introduce a dependency, insert a safe_call decomposition pragma.

NOTSWITCH

Message Default labels and case labels are valid only in "switch" statements.

Error You used case or default as a label outside the body of a switch statement.

User Action Check for unmatched braces that may have prematurely terminated the most recent switch statement.

NOTUNIQUE

Message "****" is not a unique member name in this context.

Error You used the same member name in more than one structure or union definition, and then used that member name as an offset from some other structure or union. Since the compiler had no way of knowing which member definition to use as an offset, a message was generated.

User Action To avoid ambiguities, try to make all member names unique.

NULCHARCON

Message Character constant contains no characters; '\0' assumed.

Warning You used '' for an ASCII NUL character instead of '\0'.

User Action Use '\0'.

NULHEXCON

Message Hexadecimal constant contains no digits; 0X0 assumed.

Warning You specified a constant such as 0X or 0x.

User Action Be sure that 0 is a valid value in this context; if so, change the constant to 0x0.

OVERDRAFT

Message **** has gone into DISK QUOTA overdraft.

Informational Your disk I/O quota was exceeded while writing to a file.

User Action Purge your directories to create more space or increase your disk I/O quota.

PARAMNOTUSED

Message Macro parameter "****" is not referenced in the definition.

Warning A macro definition had more parameters than appeared in its substitution. For example:

#define m(a,b,c) a*b

User Action Specify the extra parameter in the substitution or, if it is superfluous, delete it from the parameter list. (This is a possible programming error.)

PARAMREDECL

Message This declaration of "****" overrides a formal parameter.

Warning Your source program contained a redeclaration of one of the function's formal parameters. For example:

f(a) { int a; }

You cannot reference the parameter from within the function.

User Action If the declaration is misplaced, move it to a position between the function header and the left brace at the beginning of the function body. Otherwise, rename one of the identifiers.

PARSTKOVRFLW

Message Parse stack overflow.

Fatal The source code in your program was too complex, containing statements nested too deeply.

User Action Simplify the program.

PLACENOCONT

Message Continuation of placeholders is not allowed.

Warning You have attempted to continue a placeholder onto the next source line, using the backslash-newline escape sequence.

User Action Make sure that all placeholders are complete on one source line. Break up long placeholders into a sequence of shorter placeholders; the compiler will treat such a sequence as if it were a single placeholder.

PLACENODESIGN

Message Placeholders are invalid without /DESIGN=PLACEHOLDERS.

Error A placeholder has been encountered in the source, but you have not specified /DESIGN=PLACHOLDERS on the command line.

User Action Remove the placeholder or replace it with source code, or specify /DESIGN=PLACEHOLDERS.

PLACENOOBJ

Message Placeholder(s) detected; no object file generated.

Warning You have specified both /DESIGN=PLACEHOLDERS and /OBJECT, and one or more placeholders appear in the source. The present of placeholders prevents the generation of object code.

User Action Specify /NOOBJECT along with /DESIGN=PLACEHOLDERS, or remove or replace all placeholders.

PLACENOREP

Message Repetition of pseudocode placeholders is not allowed. long; directive ignored.

Warning You have terminated a pseudocode placeholder with an ellipsis.

User Action Remove the ellipsis, or change the placeholder delimiters to indicate a list-type placeholder.

PLACETOOLONG

Message Placeholder exceeds 255 characters.

Warning An excessively lengthy placeholder has been encountered.

User Action Break up the placeholder into a sequence of shorter placeholders. The compiler will treat such a sequence as if it were a single placeholder.

PPUNEXPEOF

Message Unexpected end-of-file encountered in preprocessor directive; directive ignored.

Warning The compiler detected the end of the source file while attempting to read a continuation of a preprocessor directive.

User Action Check for nonterminated comments, character strings, and other constructs that can span several lines of code.

PRAGMASYNTAX

Message Syntax error in #pragma preprocessor directive; directive ignored.

Warning You have incorrectly coded the directive.

User Action Correct the error. Check for misspellings or punctuation errors.

PTRDEPENDENCE

Message Pointer "****" inhibited loop decomposition at loop control variable "****".

Informational You have a pointer that inhibited loop decomposition at a loop control variable. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action If the loop must be decomposed and if the pointer does not introduce a dependency, use the ignore_dependency decomposition pragma.

PTRFLOATCVT

Message Operand of pointer addition or subtraction converted from floating-point to integer.

Warning You combined a pointer operand with a floating-point value. For example:

int i,*ip; . . . i = ip + 2.;

User Action Make sure that pointers are used only with other pointers or with integers; in the previous example and in similar situations, remove the decimal point from the literal constant.

QUALNOTLVALUE

Message The qualifier for "****" is not a valid lvalue.

Error In a reference to a structure or union member accessed by the period operator (.), the qualifying expression to the left of the period must be an lvalue.

User Action Correct the qualifying expression.

QUALNOTSTRUCT

Message The qualifier for "****" is not a structure or union.

Informational In a reference to a structure or union member, the qualifying expression to the left of the period operator (.) or right arrow operator (->) did not represent a structure or union.

User Action Check for possible spelling errors.

REDEFPROTO

Message This prototype conflicts with either the function definition or with a function prototype which appears earlier in the file.

Warning The prototype conflicts with a previous declaration of this function, either in number, type of arguments, or in the return type of the function.

User Action Determine what attribute does not match and what the correct attribute should be. Correct the invalid definition.

REDUNDANT

Message The operand of the & operator is already an address. The & is ignored.

Informational You specified & in front of an array or function name. The message is issued if you specified /STANDARD=PORTABLE on the CC command line.

User Action Make sure that you intend to pass the address of the array or function. If you require portability, remove the redundant "&".

REGADDR

Message Taking the address of register variable "****" is not portable and causes its storage class to be changed to auto.

Informational You used the unary ampersand operator (&) to take the address of a register variable. VAX C changes the storage class of the variable from register to auto. This allows the address of the variable to be taken. The message is used if you specified the /STANDARD=PORTABLE qualifier on the CC command line.

User Action No action is needed if you do not require compatibility with other C compilers. If you do require compatibility, change the storage class of the variable from register to auto.

REPABBREV

Message Replaced abbreviation **** with ****.

Warning You abbreviated a reserved word.

User Action Complete the spelling of all reserved words.

REPLACED

Message Replaced **** with ****.

Warning The compiler replaced an invalid macro with a different macro. (Programs that contain syntax errors usually generate this message.)

User Action Check for incorrect syntax.

REPOVERFLOW

Message Length of replacement text exceeds maximum buffer capacity; "****" not substituted.

Error The length of the replacement text for a macro reference or the length of the text plus the rest of the line exceeded the implementation's limit.

User Action Shorten the replacement text or use multiple substitutions to achieve the desired result.

RESERVED

Message "****" is a reserved identifier; directive ignored.

Warning You have specified a reserved identifier name in a #define or #undef preprocessor directive. The following reserved names may not be redefined or undefined:

o __DATE__

o __FILE__

o defined

o __TIME__

o __LINE__

User Action Choose a different spelling for the identifier.

SCALEFACTOR

Message The CDD description for "****" specifies a scale factor of ****; the scale factor is being ignored.

Informational VAX C does not support scaled arithmetic.

User Action Make sure that you appropriately scale computations involving this item.

SEMICOLONADDED

Message Semicolon added at the end of the previous source line.

Warning A missing semicolon was added to the line prior to the line numbered in this message.

User Action Check the previous line carefully and add the semicolon in the appropriate place.

SUMMARY

Message Completed with **** errors, **** warnings, and **** information messages.

Message Completed with **** errors, **** suppressed warning(s), and **** informational messages.

Informational This message indicates the number of compiler messages (errors, warnings, and informationals) issued during the compilation process. You can suppress informational and warning messages using the /[NO]WARNINGS CC command-line qualifier (see Chapter 1 in the Guide to VAX C.)

User Action Consider the individual messages and recompile if necessary.

SYMTABOVFL

Message The total number of symbol table pages exceeds the implementation's limit.

Fatal The program was too complex.

User Action Simplify the program by reducing the number and size of variables and other names, constants, and so forth.

SYNTAXERROR

Message **** Found **** when expecting ****.

Error The syntax error shown prevented the generation of an object file.

User Action Correct the errors shown.

TBLOVRFLW

Message Internal table overflow, too many procedures, external symbols (psects), or the program is too complex.

Fatal Either the source file contains too many functions or expressions, or the compiler has overflowed its virtual address space.

User Action Reduce the size of the source file by dividing it into smaller, separate files, or change the logic of the program to reduce the number of complicated expressions.

TOOFEWMACARGS

Message Argument list for macro "****" contains too few arguments; missing arguments assumed to be null.

Warning You wrote a reference to the indicated macro with fewer arguments than were specified in its definition.

User Action Make sure that the number of arguments in the macro reference is the same as the number of parameters in the definition.

TOOFEWPRAGIDS

Message At least two identifiers must be specified in this #pragma preprocessor directive; directive ignored.

Warning You have coded only one identifier in the list of identifiers in this directive; at least two are required. The directive was ignored by the compiler.

User Action Remove the directive, or add the missing identifiers, as appropriate.

TOOMANYCHAR

Message Character constant contains too many characters; truncated to ****.

Warning The length of a character constant exceeded the implementation limit (four characters). The constant was truncated to the indicated value.

User Action Reduce the length of the indicated character constant to four or fewer characters.

TOOMANYERR

Message The total number of errors exceeds the limit of 100.

Fatal The compiler reported more than 100 error messages in this compilation. The compilation ended at this point.

User Action Correct the errors reported in previous compiler messages and recompile the program.

TOOMANYFUNARGS

Message Function reference specifies too many arguments; excess arguments ignored.

Warning You called a function with more than 253 arguments. The compiler passed only the first 253 arguments; the compiler ignored the remainder.

User Action Shorten the argument list.

TOOMANYINITS

Message The initializer list for "****" specifies too many initializers; excess initializers ignored.

Warning You specified too many initializers for the indicated variable. (If the indicated item is an array or structure, it may be only partially initialized.)

User Action Make sure that all braces near the initializer sublists are balanced; if the item being initialized is or contains an array, make sure that you accounted for all dimensions.

TOOMANYMACARGS

Message Argument list for macro "****" contains too many arguments; excess arguments ignored.

Warning You wrote a reference to the indicated macro with more arguments than were specified in its definition.

User Action Make sure that the number of arguments in the macro reference is the same as the number of parameters in the definition.

TOOMANYMACPARM

Message Parameter list for macro "****" contains too many parameters; excess parameters ignored.

Warning The number of macro parameters in a #define preprocessor directive exceeded the implementation limit of 64.

User Action Rewrite the macro definition so that it uses 64 or fewer parameters.

TOOMANYSTR

Message String constant contains too many characters; truncated.

Warning You wrote a character-string constant whose length exceeded the implementation's limit of 65,535 characters.

User Action Shorten the string.

TRUNCFLOAT

Message Double precision floating-point constant cannot be converted to single precision; 0.0 assumed.

Warning You specified a double-precision constant in an expression involving a conversion to single-precision, but the constant's value was too small to be represented in single-precision.

User Action Ensure that 0 is a valid value in this context; if necessary, redeclare the conversion target as double.

TRUNCSTRINIT

Message String initializer for "****" contains too many characters to fit; truncated.

Warning If the variable was a simple one-dimensional array, the initializer was truncated (so that the length of the initializer was array-1) and the null byte was added to the end of the array. If the array is a multidimensional array or an array within a structure, the initializer was truncated to the length of the array and a null byte was not added.

User Action Treat arrays of characters as strings allowing for the null byte at the end of the array. The special case of multidimensional arrays and arrays within structures should be taken into account, especially when you do not want the null byte to be truncated.

TYPECONFLICT

Message "****" conflicts with a previous data type in this declaration; previous data type ignored.

Warning You specified more than one data-type specifier in this declaration, and the indicated specifier conflicted with a previous one.

User Action Check for a missing semicolon in the previous declaration; otherwise, make sure that all specifiers are compatible.

TYPEINLIST

Message The type of "****" was specified in the parameter list. This declaration is ignored.

Warning The function definition uses the prototype format but still contains a declaration of this parameter in the parameter declaration section.

User Action Eliminate the redundant declaration.

UABORT

Message Compilation terminated by user.

Fatal The compilation was terminated by a DCL CTRL/C command.

User Action None.

UNDECLARED

Message "****" is not declared within the scope of this usage.

Error You referred to an undeclared variable. (You must declare variables before you use them.)

User Action Check the spelling of the identifier, or add a declaration for it, if appropriate.

UNDECLARED

Message "****" is not declared prior to this #pragma preprocessor directive; directive ignored.

Warning This directive lists an identifier that has not yet been declared. The entire directive has been ignored by the compiler.

User Action Check the spelling of the identifier, or add a declaration for it, if appropriate.

UNDEFIFMAC

Message "****" is not a currently defined macro; constant zero assumed.

Informational The identifier in a constant expression in a #if or #elif preprocessor directive was not currently defined as a macro. The expression was evaluated as if the identifier were a constant zero. This message is only issued if you compile with /STANDARD=PORTABLE on the CC command line.

User Action Define the identifier as a macro or remove the reference to it.

UNDEFLABEL

Message Label "****" is undefined in this function.

Error You wrote "goto label-name" for an undefined label. The scope of a label name is restricted to the function in which it is used as a label; goto statements cannot branch to labels inside other functions.

User Action Check the spelling of the label name or make other corrections as appropriate.

UNDEFMACRO

Message "****" is already undefined; line ignored.

Warning The specified identifier (in an #undef line) was either never defined or else occurred in a previous #undef.

User Action Remove the #undef, or, if applicable, appropriately add the definition of the identifier.

UNDEFSTRUCT

Message "****" is a structure or union type that is not fully defined at this point in the compilation.

Error You used a name in the context of a structure or union tag, but the name is either undefined or is not yet fully defined as a tag.

User Action Check the spelling of the name, and make sure that it is fully defined as a tag before it is used.

UNEXPEND

Message Unexpected end-of-**** encountered in **** preprocessor directive; directive ignored.

Warning The end of the directive or end of the source file was encountered before the directive was completely processed.

User Action Check for an incomplete comment within the definition, or for a missing continuation of the line.

UNEXPEOF

Message Unexpected end-of-file encountered in a ****.

Error The compiler encountered the end of the source file while scanning for the end of a string constant or a comment.

User Action Make sure that string constants and comments are properly terminated.

UNEXPPDIRX

Message Unexpected **** preprocessor directive encountered; directive ignored.

Warning The specified directive occurred out of place and was ignored.

User Action Check the logic of all directives in the program to be sure that it is valid.

UNKSIZEOF

Message Operand of sizeof has an unknown size; 0 assumed.

Warning The operand of a sizeof operator was an array whose size was unknown at compile time. A size of 0 was assumed.

User Action Change the declaration of the array to specify the appropriate dimension bound.

UNRECCHAR

Message Unrecognized character ignored.

Error The line contained either an entirely meaningless character or one that appears out of its proper context, for example. For example, a number sign (#) that was not the first character on a line.

User Action Move or remove the character.

UNRECPRAGMA

Message Unrecognized #pragma preprocessor directive ignored.

Informational You have specified a #pragma preprocessor directive that is not recognized by VAX C.

User Action Correct the syntactic or semantic error that rendered the directive unrecognizable. Common errors include misspelled parameters.

UNSUPPORTEDLCV

Message Loop decomposition inhibited due to unsupported loop control variable.

Informational A function was inlined whose formal parameter was used as a loop-control variable.

User Action Declare the loop-control variable to be the automatic storage class.

UNSUPPORTEDOP

Message Variable "****" has an unsupported type which inhibited loop decomposition at loop control variable "****".

Informational A variable that is modified in the loop is of a type not currently supported by VAX C decomposition processing. This message is issued if you specified the /PARALLEL qualifier on the CC command line.

User Action No action.

UNSUPPTYPE

Message The CDD description for "****" specifies a data type not supported in C.

Informational The compiler could not represent the indicated item in a VAX C construct. The compiler generated a declaration of a structure whose length was the same as the length of the unsupported data type.

User Action Change the CDD description to specify a supported data type, if you require a precise representation in VAX C.

VARNOTMEMBER

Message A variant aggregate must be a member of a struct or union.

Error You attempted to specify a variant_struct or a variant_union outside of an aggregate declaration.

User Action If you intend to use the structure or union as declared, and if the structure or union is the outermost aggregate in a group of nested aggregates, replace the variant keywords with struct or union. If you intend to use the structure or union as a variant aggregate, and if the structure or union is otherwise properly declared, nest the declaration within a valid structure or union declaration. If you used the variant_struct or variant_union keywords in declarations other than structure or union declarations, remove the variant keywords.

VOIDCALL

Message A "void" function cannot be invoked in a context where a value is expected.

Error You coded a call to a function declared as void, but the call appeared in a context where a return value was expected.

User Action Move the function call to a different context, or if the function does return a value, declare it to be void.

VOIDEXPR

Message A "void" expression cannot be used in a context where a value is expected.

Error You cast an expression to be void, but the expression was used in a context where its value was required.

User Action Remove the cast, or move the expression to a context that requires no value.

VOIDNOTFUNC

Message "****" is not declared to be a function; only functions may be declared "void".

Error You declared an object other than a function to be void.

User Action Check the syntax of the declarator. You may find the output produced by the /SHOW=SYMBOLS CC command-line qualifier to be helpful in diagnosing this problem.

VOIDRETURN

Message A "return" statement in a "void" function may not specify a value; expression ignored.

Warning You specified a value in a return statement within a function declared as void.

User Action Either remove the return value or redefine the function as returning the appropriate data type.