SW500008 Microchip Technology, SW500008 Datasheet - Page 390

PICC-18 STD

SW500008

Manufacturer Part Number
SW500008
Description
PICC-18 STD
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC18r
Datasheets

Specifications of SW500008

Supported Families
PIC18
Core Architecture
PIC
Software Edition
Standard
Kit Contents
Software And Docs
Mcu Supported Families
PIC18
Tool Function
Compiler
Tool Type
Compiler
Lead Free Status / RoHS Status
Not applicable / RoHS Compliant
For Use With/related Products
PIC18 Series
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
Other names
015
778-1001
778-1001
(753) undefined shift (* bits)
An attempt has been made to shift a value by a number of bits equal to or greater than the number of
bits in the data type. This will produce an undefined result on many processors. This is non-portable
code and is flagged as having undefined results by the C Standard, e.g.:
(754) bitfield comparison out of range
This is the result of comparing a bitfield with a value when the value is out of range of the bitfield.
For example, comparing a 2-bit bitfield to the value 5 will never be true as a 2-bit bitfield has a range
from 0 to 3, e.g.:
(755) division by zero
A constant expression that was being evaluated involved a division by zero, e.g.:
(757) constant conditional branch
A conditional branch (generated by an if, for, while statement etc.) always follows the same path.
This will be some sort of comparison involving a variable and a constant expression. For the code
generator to issue this message, the variable must have local scope (either auto or static local) and
the global optimizer must be enabled, possibly at higher level than 1, and the warning level threshold
may need to be lower than the default level of 0.
a function. For C code that compares these variables to constants, the result of the comparison can
be deduced at compile time and the output code hard coded to avoid the comparison, e.g.:
376
The global optimizer keeps track of the contents of local variables for as long as is possible during
int input;
input < <= 33; /* woops -- that shifts the entire value out of input */
struct {
} value;
int compare(void)
{
}
a /= 0; /* divide by 0: was this what you were intending */
unsigned mask : 2; /* mask can hold values 0 to 3 */
return (value.mask == 6); /* test can
Error and Warning Messages
(Code Generator)
(Code Generator)
(Code Generator)
(Code Generator)

Related parts for SW500008