Compiler Error Messages EDC3600 - EDC3699

 
EDC3609
The return type "&1" is not valid for a function of "&2" linkage.

For example, functions with COBOL linkage cannot return a value; they must return void.

Recovery

Use a valid return type.

EDC3610
Invalid or out of range pragma parameter; pragma is ignored.

The pragma parameter specified is invalid or out of range.

Recovery

Remove the parameter or replace it with one within the range.

EDC3617
Precompiled header file cannot be generated because a declaration was not complete when the last header file ended.

A declaration may not begin in a header file and end in the main program file. No precompiled header file is generated.

Recovery

Complete the declaration before the end of the header file.

EDC3620
#pragma &1 directive can be specified only once per source file.

You can specify the #pragma directive indicated only once in each source file.

Recovery

Remove one of the #pragma &1 statements.

EDC3621
The function specified in #pragma weak &1 should not be defined and referenced in the same compilation unit.

The function specified in #pragma weak should only be defined externally and should not be referenced in the same compilation unit.

Recovery

Split the function definition and the function reference into separate compilation units.

EDC3623
Option "&1" ignored because option "&2" specified.

Specifying the second option indicated means the first has no effect.

Recovery

Remove one of the options.

EDC3638
The header file name in the #include directive cannot be empty.

Recovery

Specify a non-empty header file name in the #include directive.

EDC3639
"&1" will be converted to "&2" but argument type "&3" is incompatible.

The type conversion will be performed. This can occur in an initialization, assignment, or expression statement. One or more of the function arguments is incompatible with the intended conversion.

Recovery

Change the offending argument type.

EDC3640
#pragma argument :colon. "nowiden" is not allowed for functions with "C" linkage, "nowiden" option will be ignored.

Arguments for functions with "C" linkage must be widened before they are passed.

Recovery

Remove "nowiden" option from #pragma argument.

EDC3642
#&1 condition evaluates to &2.

This message traces preprocessor expression evaluation.

Recovery

No response.

EDC3643
defined(&1) evaluates to &2.

This message traces preprocessor #ifdef and #ifndef evaluation.

Recovery

No response.

EDC3644
Stop skipping tokens.

This messages traces conditional compilation activity.

Recovery

No response.

EDC3645
File &1 has already been #included.

This #include directive is redundant.

Recovery

Remove the #include directive.

EDC3646
#include found file &1.

This message traces the activity of the #include directive.

Recovery

No response.

EDC3647
#line directive changing line to &1 and file to &2.

Traces #line directive evaluation.

Recovery

No response.

EDC3648
#line directive changing line to &1.

Traces #line directive evaluation.

Recovery

No response.

EDC3649
The macro definition will override the keyword "&1".

Overriding a C keyword with a preprocessor macro may cause unexpected results.

Recovery

Change the name of the macro if necessary.

EDC3650
Some program text not scanned due to &1 option or #pragma &2.

MARGINS or SEQUENCE option, or #pragma margins or sequence was used to limit the valid text region in a source file.

Recovery

Remove the MARGINS or SEQUENCE option, or remove the #pragma margins or sequence, or specify a more inclusive text region.

EDC3651
Macro &1 redefined with identical definition.

Identical macro redefinitions are allowed but not necessary. The amount of whitespace separating tokens have no bearing on whether macros are considered identical.

Recovery

Remove the identical definition if necessary.

EDC3652
#&1 nesting level is &2.

Traces conditional compilation activity.

Recovery

No response.

EDC3653
Compiler internal name "&1" has been defined as a macro.

Internal compiler names should not be redefined.

Recovery

Delete the macro definition or change the name of the macro being defined.

EDC3654
Compiler internal name "&1" has been undefined as a macro.

Internal compiler names should not be undefined.

Recovery

Delete the undefined macro.

EDC3655
Begin skipping tokens.

This messages traces conditional compilation activity.

Recovery

No response.

EDC3656
A trigraph sequence occurred in a character literal.

The trigraph sequence will be converted, although a literal interpretation may have been desired.

Recovery

Change the value of the character literal if necessary.

EDC3657
A trigraph sequence occurred in a string literal.

The trigraph sequence will be converted, although a literal interpretation may have been desired.

Recovery

Change the value of the string literal if necessary.

EDC3658
#undef undefining macro name "&1".

Traces #undef preprocessor directive evaluation.

Recovery

No response.

EDC3659
Unknown macro name "&1" on #undef directive.

An attempt is being made to undefine a macro that has not been previously defined.

Recovery

Remove the #undef directive.

EDC3660
Header &1 included again because it is never empty.

The referenced header file has already been #included and will be physically #included again because there is no conditional compilation path in it which results in an empty file.

Recovery

If desired, at the top of the header, test a macro name which is defined by the header to prevent subsequent inclusions.

EDC3661
Header &1 not included again because it is empty.

The referenced header file has already been #included and will not be physically #included again because it is empty.

Recovery

If desired, do not #include the header since it is empty.

EDC3662
Header &1 included again because conditional compilation analysis is incomplete.

The referenced header file has already been #included and will be physically #included again because the inclusion is recursive and the conditional compilation analysis of the header is therefore incomplete.

Recovery

If desired, test a macro name which is defined by the header at the point of inclusion to prevent subsequent inclusions.

EDC3663
Header &1 not included again because it would have no effect due to conditional compilation.

The referenced header file has already been #included and will not be physically #included again because conditional compilation would expose no additional source to the compiler.

Recovery

If desired, do not #include the header since it is redundant.

EDC3664
End of precompiled header processing.

The compiler has finished processing a precompiled header.

Recovery

No response. This message merely traces the activity of the precompiled header feature.

EDC3665
Macro "&1" is required by the precompiled header and is defined differently than when the precompiled header was created.

The referenced macro was expanded during the creation of the precompiled header and is now defined differently. This prevents the precompiled header from being used for this compilation.

Recovery

If necessary, redefine the macro, or regenerate the precompiled header

EDC3666
One or more assertions are defined which were not defined when the precompiled header was created.

An assertion is defined which was not defined when the precompiled header was generated. Since the effect of the new assertion is unknown, the precompiled header cannot be used for this compilation.

Recovery

Do not define the assertion or regenerate the precompiled header with the new assertion.

EDC3667
One or more macros are defined which were not defined when the precompiled header was created.

A macro is defined which was not defined when the precompiled header was generated. Since the effect of the new macro is unknown, the precompiled header cannot be used for this compilation.

Recovery

Do not define the macro or regenerate the precompiled header with the new macro.

EDC3668
Compiler options do not match those in effect when the precompiled header was created.

The compiler options in use are not compatible with those used when the precompiled header was generated. The precompiled header cannot be used.

Recovery

Use the same options as when the precompiled header was generated or regenerate the precompiled header with the new options.

EDC3669
Assertion "&1" is required by the precompiled header and is not defined.

The referenced assertion was tested during the creation of the precompiled header and is not defined. This prevents the precompiled header from being used for this compilation.

Recovery

If necessary, redefine the assertion, or regenerate the precompiled header without the assertion.

EDC3670
Macro "&1" is required by the precompiled header and is not defined.

The referenced macro was expanded during the creation of the precompiled header and is not defined. This prevents the precompiled header from being used for this compilation.

Recovery

If necessary, redefine the macro, or regenerate the precompiled header without the macro.

EDC3671
Unable to use precompiled header &1.

The precompiled header can not be used for this compilation. A subsequent message will explain the reason.

Recovery

Correct the problem indicated by the subsequent message.

EDC3672
Expecting &1 and found &2.

The header file being included is not the next header in the sequence used to generate the precompiled header. The precompiled header cannot be used for this compilation.

Recovery

#include the correct header or regenerate the precompiled header using the new sequence of #include directives.

EDC3673
Syntax error - the argument list in the new placement syntax is empty.

At least one new placement argument must be specified.

Recovery

Specify an argument in the new placement syntax or remove the new placement.

EDC3675
The __unaligned type qualifier is applicable only to the types that are referenced or "pointed to". It is not valid here and is ignored.

The __unaligned type qualifier specifies that the symbol accessed through a pointer or a reference is not naturally aligned.

Recovery

Remove the __unaligned qualifier.

EDC3676
An expression of type "&1" cannot be an operand for dynamic_cast because "&2" is not a class, struct or union.

The expression operand of a dynamic_cast operator must be a pointer to or an lvalue of a complete class.

Recovery

Use the static_cast or reinterpret_cast operator instead of the dynamic_cast operator.

EDC3677
The operand is not a pointer type.

The expression operand of a dynamic_cast operator must be a pointer when the target type is a pointer.

Recovery

Use the static_cast or reinterpret_cast operator instead of the dynamic_cast operator.

EDC3678
The type "&1" is not allowed as the target type of the dynamic_cast operator.

The target type of a dynamic_cast operator must be a pointer or reference to a complete class or a pointer to void.

Recovery

Use the static_cast or reinterpret_cast operator instead of the dynamic_cast operator.

EDC3679
The type "&1" is not allowed as the target type of the dynamic_cast operator.

The target type of a dynamic_cast operator must be a pointer to a complete class or a pointer to void when the operand is a pointer type.

Recovery

Use the static_cast or reinterpret_cast operator instead of the dynamic_cast operator.

EDC3680
The type "&1" is not allowed as the target type of the dynamic_cast operator.

The target type of a dynamic_cast operator must be a reference to a complete class when the operand is an lvalue.

Recovery

Use the static_cast or reinterpret_cast operator instead of the dynamic_cast operator.

EDC3681
The type of the operand is "&1" but "&2" is not a polymorphic class.

One may only dynamic cast to a non-base class from a polymorphic class. A polymorphic class is a class that has a virtual function or that has a polymorphic base class.

Recovery

Use the static_cast or reinterpret_cast operator instead of the dynamic_cast operator.

EDC3682
The target type has less qualification than the source type.

The target type must have the same type qualifiers (or more) as the source type. Note that dynamic_cast may not used to cast away 'const'.

Recovery

Add qualifiers to the target type to match the source type.

EDC3683
The type "&1" is not allowed as the target type of the dynamic_cast operator because "&2" is incomplete.

The target type of a dynamic_cast operator must be a pointer or reference to a complete class.

Recovery

Use the static_cast or reinterpret_cast operator instead of the dynamic_cast operator.

EDC3684
An expression of type "&1" cannot be an operand for dynamic_cast because "&2" is incomplete.

The expression operand of a dynamic_cast operator must be a pointer or reference to a complete class.

Recovery

Use the static_cast or reinterpret_cast operator instead of the dynamic_cast operator.

EDC3685
The operand is not an lvalue.

The expression operand of a dynamic_cast operator must be an lvalue if the target type is a reference.

Recovery

Use the static_cast or reinterpret_cast operator instead of the dynamic_cast operator.

EDC3686
Pointer type "&1" will be converted to "&2". In a future release, this conversion will result in a syntax error due to an AS/400 pointer rules violation.

The conversion violates AS/400 pointer rules (See the ILE C/400 Programmers Guide for more information).

Recovery

Use open (void) pointers between AS/400 pointers of different classes.

EDC3687
Function "&1" does not have any parameters before the '...' parameter. This is not legal in IDL.

Functions in IDL must have at least one named parameter before a ... parameter.

Recovery

Add a named parameter before the ... parameter.

EDC3688
"&1" is an IDL keyword or type defined by <somobj.idl>.

The user has a variable or field name that conflicts with an IDL keyword or type.

Recovery

Rename the variable.

EDC3689
Unable to create the type_info objects because of the improper type_info class definition.

The user has a type_info class definition that conflicts with the standard.

Recovery

Rename the user type_info class definition.

EDC3690
IDL name "&1" conflicts with a variable or type in the same scope.

The name conflicts with a previous IDL name in this compilation unit.

Recovery

Rename at least one name/type.

EDC3694
Cannot specify default function on PowerPC; #pragma weak ignored.

On PowerPc, #pragma weak only takes one parameter, the weak function.

Recovery

Before calling the weak function on PowerPC, check to be sure it's there.

EDC3695
Must specify default function on Intel; #pragma weak ignored.

On Intel, #pragma weak takes two parameters, the weak function and the default one.

Recovery

On Intel, a default function must be provided for use when the weak function is not linked in.

EDC3696
Use option -Fb* to generate browser information for symbols in system include files

You have definition for a symbol from a System Include file. If you want browser information for all symbols, use the -Fb* option.

Recovery

Ignore the message, or recompile using the -Fb* option.

EDC3698
Both "main" and "WinMain" are defined in this compilation unit. Only one of them is allowed.

In each compilation unit, only one of "main" and "WinMain" is allowed.

Recovery

Remove either "main" or "WinMain".

EDC3699
A call to the thread object's destructor may not be invoked if the current process ends before all of its threads end.

You have declared a thread object with a destructor. Destructor calls of thread local storage objects are not fully supported on NT.

Recovery

Allow enough time to the process so that its threads can end gracefully before the process terminates.



Summary of Compiler Error Messages