SW500008 Microchip Technology, SW500008 Datasheet - Page 351

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
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 SW500008