Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 User Manual

Product codes
SW006021-1
Page of 518
Error and Warning Messages
 2012 Microchip Technology Inc.
DS52053B-page 473
(1387) inline delay argument must be constant
(Code Generator)
The __delay inline function can only take a constant expression as its argument.
int delay_val = 99;
__delay(delay_val);   // oops, argument must be a constant expression
(1388) configuration setting/register of "*" with 0x* will be truncated by 0x*
(Parser, Code Generator)
A configuration bit has been programmed with a value that is either too large for the 
setting, or not one of the prescribed values.
#pragma config WDTPS=138  // oops -- do you mean 128?
(1389) attempt to reprogram configuration * "*" with * (is *)
(Parser, Code Generator)
A configuration bit already programmed has been programmed again with a conflicting 
setting to the original.
#pragma config WDT=ON
#pragma config WDT=OFF  // oops -- watchdog on or off?
(1390) identifier specifies insignificant characters beyond maximum identifier length
(Parser)
An identifier has been used that is so long that it exceeds the set identifier length. This 
may mean that long identifiers may not be correctly identified and the code will fail. The 
maximum identifier length can be adjusted using the -N option.
int theValueOfThePortAfterTheModeBitsHaveBeenSet;
        // oops, make your symbol shorter or increase the maximum
        // identifier length
(1391) constant object size of * exceeds the maximum of * for this chip
(Code Generator)
The const object defined is too large for the target device.
const int array[200] = { ... };  // oops -- not on a Baseline part!
(1392) function "*" is called indirectly from both mainline and interrupt code
(Code Generator)
A function has been called by main-line (non-interrupt) and interrupt code. If this warn-
ing is issued, it highlights that such code currently violates a compiler limitation for the 
selected device.
(1393) possible hardware stack overflow detected, estimated stack depth: *
(Code Generator)
The compiler has detected that the call graph for a program may be using more stack 
space that allocated on the target device. If this is the case, the code may fail. The com-
piler can only make assumption regarding the stack usage when interrupts are involved 
and these lead to a worst-case estimate of stack usage. Confirm the function call nest-
ing if this warning is issued.
(1394) attempting to create memory range ( * - * ) larger than page size,  *
(Driver)
The compiler driver has detected that the memory settings include a program memory 
“page” that is larger than the page size for the device. This would mostly likely be the 
case if the --ROM option is used to change the default memory settings. Consult you 
device data sheet to determine the page size of the device you are using and ensure 
that any contiguous memory range you specify using the --ROM option has a boundary 
that corresponds to the device page boundaries.
--ROM=100-1fff
The above may need to be paged. If the page size is 800h, the above could specified as
--ROM=100-7ff,800-fff,1000-17ff,1800-1fff