Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 Benutzerhandbuch
Produktcode
SW006021-1
MPLAB
®
XC8 C Compiler User’s Guide
DS52053B-page 474
2012 Microchip Technology Inc.
(1395) notable code sequence candidate suitable for compiler validation suite detected (*)
(Code Generator)
The compiler has in-built checks that can determine if combinations of internal code
templates have been encountered. Where unique combinations are uncovered when
compiling code, this message is issued. This message is not an error or warning, and
its presence does not indicate possible code failure, but if you are willing to participate,
the code you are compiling can be sent to Support to assist with the compiler testing
process.
templates have been encountered. Where unique combinations are uncovered when
compiling code, this message is issued. This message is not an error or warning, and
its presence does not indicate possible code failure, but if you are willing to participate,
the code you are compiling can be sent to Support to assist with the compiler testing
process.
(1396) "*" positioned in the * memory region (0x* - 0x*) reserved by the compiler (Code Generator)
Some memory regions are reserved for use by the compiler. These regions are not nor-
mally used to allocate variables defined in your code. However, by making variables
absolute, it is possible to place variables in these regions and avoid errors that would
normally be issued by the linker. (Absolute variables can be placed at any location,
even on top of other objects.) This warning from the code generator indicates that an
absolute has been detected that will be located at memory that the compiler will be
reserving. You must locate the absolute variable at a different location. This message
will commonly be issued when placing variables in the common memory space.
mally used to allocate variables defined in your code. However, by making variables
absolute, it is possible to place variables in these regions and avoid errors that would
normally be issued by the linker. (Absolute variables can be placed at any location,
even on top of other objects.) This warning from the code generator indicates that an
absolute has been detected that will be located at memory that the compiler will be
reserving. You must locate the absolute variable at a different location. This message
will commonly be issued when placing variables in the common memory space.
char shared @ 0x7; // oops, this memory is required by the compiler
(1397) unable to implement non-stack call to "*"; possible hardware stack overflow
(Code Generator)
The compiler must encode a C function call without using a CALL assembly instruction
and the hardware stack (i.e., use a lookup table), but is unable to. A call instruction
might be required if the function is called indirectly via a pointer, but if the hardware
stack is already full, an additional call will cause a stack overflow.
and the hardware stack (i.e., use a lookup table), but is unable to. A call instruction
might be required if the function is called indirectly via a pointer, but if the hardware
stack is already full, an additional call will cause a stack overflow.
(1401) eeprom qualified variables can’t be accessed from both interrupt and mainline code
(Code Generator)
All eeprom variables are accessed via routines which are not reentrant. Code might fail
if an attempt is made to access eeprom-qualified variables from interrupt and main-line
code. Avoid accessing eeprom variables in interrupt functions.
if an attempt is made to access eeprom-qualified variables from interrupt and main-line
code. Avoid accessing eeprom variables in interrupt functions.
(1402) a pointer to eeprom can’t also point to other data types
(Code Generator)
A pointer cannot have targets in both the eeprom space and ordinary data space.
(1403) pragma "*" ignored
(Parser)
The pragma you have specified has no effect and will be ignored by the compiler. This
message may only be issued in C18 compatibility mode.
message may only be issued in C18 compatibility mode.
#pragma varlocate "mySection" fred // oops -- not accepted
(1404) unsupported: *
(Parser)
The unsupported __attribute__ has been used to indicate that some code
feature is not supported.
feature is not supported.
The message printed will indicate the feature that is not supported and which should
be avoided.
be avoided.
(1405) storage class specifier "*" ignored
(Parser)
The storage class you have specified is not required and will be ignored by the com-
piler. This message may only be issued in C18 compatibility mode.
piler. This message may only be issued in C18 compatibility mode.
int procInput(auto int inValue) // oops -- no need for auto
{ ...