MPLAB C Compiler for PIC24 MCUs and dsPIC DSCs ... - Microchip
MPLAB C Compiler for PIC24 MCUs and dsPIC DSCs ... - Microchip
MPLAB C Compiler for PIC24 MCUs and dsPIC DSCs ... - Microchip
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Diagnostics<br />
shift count >= width of type<br />
Shift counts should be less than the number of bits in the type being shifted. Otherwise,<br />
the shift is meaningless, <strong>and</strong> the result is undefined.<br />
shift count is negative<br />
Shift counts should be positive. A negative left shift count does not mean shift right, nor<br />
does a negative right shift count mean shift left; they are meaningless.<br />
size of ‘name’ is larger than n bytes<br />
Using -Wlarger-than-len will produce the above warning when the size of ‘name’<br />
is larger than the len bytes defined.<br />
size of ‘identifier’ is n bytes<br />
The size of the specified identifier (which is n bytes) is larger than the size specified<br />
with the -Wlarger-than-len comm<strong>and</strong>-line option.<br />
size of return value of ‘name’ is larger than n bytes<br />
Using -Wlarger-than-len will produce the above warning when the size of the<br />
return value of ‘name’ is larger than the len bytes defined.<br />
size of return value of ‘identifier’ is n bytes<br />
The size of the return value of the specified function is n bytes, which is larger than the<br />
size specified with the -Wlarger-than-len comm<strong>and</strong>-line option.<br />
spurious trailing ‘%’ in <strong>for</strong>mat<br />
When checking the argument list of a call to printf, scanf, etc., the compiler found that<br />
there was a spurious trailing ‘%’ character in the <strong>for</strong>mat string.<br />
statement with no effect<br />
A statement has no effect.<br />
static declaration <strong>for</strong> ‘identifier’ follows non-static<br />
The specified identifier was declared static after it was previously declared as<br />
non-static.<br />
string length ‘n’ is greater than the length ‘n’ ISO Cn compilers are required to<br />
support<br />
The maximum string length <strong>for</strong> ISO C89 is 509. The maximum string length <strong>for</strong> ISO C99<br />
is 4095.<br />
‘struct identifier’ declared inside parameter list<br />
The specified struct is declared inside a function parameter list. It is usually better<br />
programming practice to declare structs outside parameter lists, since they can never<br />
become complete types when defined inside parameter lists.<br />
struct has no members<br />
The structure is empty, it has no members.<br />
structure defined inside parms<br />
A union is defined inside a function parameter list.<br />
style of line directive is a GCC extension<br />
Use the <strong>for</strong>mat ‘#line linenum’ <strong>for</strong> traditional C.<br />
subscript has type ‘char’<br />
An array subscript has type ‘char’.<br />
suggest explicit braces to avoid ambiguous ‘else’<br />
A nested if statement has an ambiguous else clause. It is recommended that braces be<br />
used to remove the ambiguity.<br />
© 2008 <strong>Microchip</strong> Technology Inc. DS51284H-page 197