SW500007 Microchip Technology, SW500007 Datasheet - Page 351

PICC-18 PRO

SW500007

Manufacturer Part Number
SW500007
Description
PICC-18 PRO
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC18r
Datasheets

Specifications of SW500007

Supported Families
PIC18
Core Architecture
PIC
Software Edition
Professional
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
015P
778-1002
778-1002
Error and Warning Messages
(344) non-void function returns no value
A function that is declared as returning a value has a return statement that does not specify a return
value, e.g.:
(345) unreachable code
This section of code will never be executed, because there is no execution path by which it could be
reached, e.g.:
(346) declaration of * hides outer declaration
An object has been declared that has the same name as an outer declaration (i.e. one outside and
preceding the current function or block). This is legal, but can lead to accidental use of one variable
when the outer one was intended, e.g.:
(347) external declaration inside function
A function contains an extern declaration. This is legal but is invariably not desirable as it restricts
the scope of the function declaration to the function body. This means that if the compiler encounters
another declaration, use or definition of the extern object later in the same file, it will no longer have
the earlier declaration and thus will be unable to check that the declarations are consistent. This
can lead to strange behaviour of your program or signature errors at link time. It will also hide any
previous declarations of the same thing, again subverting the compiler’s type checking. As a general
rule, always declare extern variables and functions outside any other functions. For example:
int get_value(void)
{
}
while(1)
flag = FINISHED; /* how do we get here? */
int input;
void process(int a)
{
if(flag)
return;
process();
int input;
a = input;
return val++;
/* what is the return value in this instance? */
/* how does this loop finish? */
/* input has filescope */
/* local blockscope input */
/* this will use the local variable. Is this right? */
(Parser)
(Parser)
(Parser)
(Parser)
337

Related parts for SW500007