SW500010 Microchip Technology, SW500010 Datasheet - Page 430

HI-TECH C PRO FOR PIC10/12/16

SW500010

Manufacturer Part Number
SW500010
Description
HI-TECH C PRO FOR PIC10/12/16
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC10/12/16r
Datasheets

Specifications of SW500010

Supported Families
PIC10, PIC12, PIC16
Core Architecture
PIC
Software Edition
Professional
Kit Contents
Software And Docs
Mcu Supported Families
PIC10/12/16
Tool Type
Compiler
Lead Free Status / RoHS Status
Not applicable / Not applicable
For Use With/related Products
PIC10, PIC12, PIC14, PIC16, PIC16E
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
Other names
019P
778-1006
778-1006
(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) divide 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.:
430
The global optimizer keeps track of the contents of local variables for as long as is possible during
int input;
input < <= 33;
struct {
} value;
int compare(void)
{
}
a /= 0;
unsigned mask : 2;
return (value.mask == 6);
/ * divide by 0: was this what you were intending * /
/ * oops -- that shifts the entire value out * /
/ * mask can hold values 0 to 3 * /
/ * test can
Error and Warning Messages
(Code Generator)
(Code Generator)
(Code Generator)
(Code Generator)

Related parts for SW500010