07.04.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!