SW500010 Microchip Technology, SW500010 Datasheet - Page 385

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
Error and Warning Messages
(350) unused * "*" (from line *)
The indicated object was never used in the function or module being compiled. Either this object is
redundant, or the code that was meant to use it was excluded from compilation or misspelt the name
of the object. Note that the symbols rcsid and sccsid are never reported as being unused.
(352) float parameter coerced to double
Where a non-prototyped function has a parameter declared as float, the compiler converts this into
a double float. This is because the default C type conversion conventions provide that when a
floating point number is passed to a non-prototyped function, it will be converted to double. It is
important that the function declaration be consistent with this convention, e.g.:
(353) sizeof external array "*" is zero
The size of an external array evaluates to zero. This is probably due to the array not having an
explicit dimension in the extern declaration.
(354) possible pointer truncation
A pointer qualified far has been assigned to a default pointer or a pointer qualified near, or a default
pointer has been assigned to a pointer qualified near. This may result in truncation of the pointer and
loss of information, depending on the memory model in use.
(355) implicit signed to unsigned conversion
A signed number is being assigned or otherwise converted to a larger unsigned type. Under
the ANSI "value preserving" rules, this will result in the signed value being first sign-extended
to a signed number the size of the target type, then converted to unsigned (which involves no
change in bit pattern). Thus an unexpected sign extension can occur. To ensure this does not happen,
first convert the signed value to an unsigned equivalent, e.g.:
int process(int input)
{
}
double inc_flt(f)
float f;
{
}
return f * 2;
/ * f will be converted to double * /
/ * warning flagged here * /
(Parser)
(Parser)
(Parser)
(Parser)
(Parser)
385

Related parts for SW500010