SW006012 Microchip Technology, SW006012 Datasheet - Page 49

C COMPILER FOR DSPIC30F FAMILY

SW006012

Manufacturer Part Number
SW006012
Description
C COMPILER FOR DSPIC30F FAMILY
Manufacturer
Microchip Technology
Type
MPLAB® C30 Compilerr
Series
PIC24 & DsPICr
Datasheets

Specifications of SW006012

Supported Families
PIC24, DsPIC30F And DsPIC33F
Core Architecture
PIC, DsPIC
Kit Contents
Software And Docs
Mcu Supported Families
PIC24 MCUs And DsPIC DSCs
Tool Type
Compiler
Processor Series
PIC24, dsPIC
Lead Free Status / RoHS Status
Not applicable / Not applicable
For Use With/related Products
dsPIC30F
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
© 2007 Microchip Technology Inc.
TABLE 3-6:
-W
-Waggregate-return
-Wbad-function-cast
-Wcast-align
-Wcast-qual
Option
WARNING/ERROR OPTIONS NOT IMPLIED BY -WALL
Using MPLAB C30 C Compiler
Print extra warning messages for these events:
• A nonvolatile automatic variable might be changed by a
• A function could exit both via return value; and
• An expression-statement or the left-hand side of a
• An unsigned value is compared against zero with < or <=.
• A comparison like x<=y<=z appears; this is equivalent to
• Storage-class specifiers like static are not the first
• If -Wall or -Wunused is also specified, warn about
• A comparison between signed and unsigned values could
• An aggregate has a partly bracketed initializer. For
• An aggregate has an initializer that does not initialize all
Warn if any functions that return structures or unions are
defined or called.
Warn whenever a function call is cast to a non-matching type.
For example, warn if int foof() is cast to anything *.
Warn whenever a pointer is cast, such that the required
alignment of the target is increased. For example, warn if a
char * is cast to an int * .
Warn whenever a pointer is cast, so as to remove a type
qualifier from the target type. For example, warn if a
const char * is cast to an ordinary char *.
call to longjmp. These warnings are possible only in
optimizing compilation. The compiler sees only the calls
to setjmp. It cannot know where longjmp will be called;
in fact, a signal handler could call it at any point in the
code. As a result, a warning may be generated even
when there is in fact no problem, because longjmp
cannot in fact be called at the place that would cause a
problem.
return;. Completing the function body without passing
any return statement is treated as return;.
comma expression contains no side effects. To suppress
the warning, cast the unused expression to void. For
example, an expression such as x[i,j] will cause a
warning, but x[(void)i,j] will not.
(x<=y ? 1 : 0) <= z, which is a different interpretation
from that of ordinary mathematical notation.
things in a declaration. According to the C Standard, this
usage is obsolescent.
unused arguments.
produce an incorrect result when the signed value is
converted to unsigned. (But don’t warn if
-Wno-sign-compare is also specified.)
example, the following code would evoke such a warning,
because braces are missing around the initializer for
x.h:
struct s { int f, g; };
struct t { struct s h; int i; };
struct t x = { 1, 2, 3 };
members. For example, the following code would cause
such a warning, because x.h would be implicitly
initialized to zero:
struct s { int f, g, h; };
struct s x = { 3, 4 };
Definition
DS51284F-page 43

Related parts for SW006012