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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

16-Bit C <strong>Compiler</strong> User’s Guide<br />

C.3 WARNINGS<br />

Symbols<br />

‘/*’ within comment<br />

A comment mark was found within a comment.<br />

‘$’ character(s) in identifier or number<br />

Dollar signs in identifier names are an extension to the st<strong>and</strong>ard.<br />

#‘directive’ is a GCC extension<br />

#warning, #include_next, #ident, #import, #assert <strong>and</strong> #unassert directives are GCC<br />

extensions <strong>and</strong> are not of ISO C89.<br />

#import is obsolete, use an #ifndef wrapper in the header file<br />

The #import directive is obsolete. #import was used to include a file if it hadn’t already<br />

been included. Use the #ifndef directive instead.<br />

#include_next in primary source file<br />

#include_next starts searching the list of header file directories after the directory in<br />

which the current file was found. In this case, there were no previous header files so it<br />

is starting in the primary source file.<br />

#pragma pack (pop) encountered without matching #pragma pack (push, )<br />

The pack(pop) pragma must be paired with a pack(push) pragma, which must precede<br />

it in the source file.<br />

#pragma pack (pop, identifier) encountered without matching #pragma pack<br />

(push, identifier, )<br />

The pack(pop) pragma must be paired with a pack(push) pragma, which must precede<br />

it in the source file.<br />

#warning: message<br />

The directive #warning causes the preprocessor to issue a warning <strong>and</strong> continue<br />

preprocessing. The tokens following #warning are used as the warning message.<br />

A<br />

absolute address specification ignored<br />

Ignoring the absolute address specification <strong>for</strong> the code section in the #pragma<br />

statement because it is not supported in the compiler. Addresses must be specified in<br />

the linker script <strong>and</strong> code sections can be defined with the keyword __attribute__.<br />

address of register variable ‘name’ requested<br />

The register specifier prevents taking the address of a variable.<br />

alignment must be a small power of two, not n<br />

The alignment parameter of the pack pragma must be a small power of two.<br />

anonymous enum declared inside parameter list<br />

An anonymous enum is declared inside a function parameter list. It is usually better<br />

programming practice to declare enums outside parameter lists, since they can never<br />

become complete types when defined inside parameter lists.<br />

anonymous struct declared inside parameter list<br />

An anonymous 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 />

DS51284H-page 182 © 2008 <strong>Microchip</strong> Technology Inc.

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

Saved successfully!

Ooh no, something went wrong!