SW006012 Microchip Technology, SW006012 Datasheet - Page 57

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-10:
3.5.7
The following options control the compiler preprocessor.
TABLE 3-11:
-fkeep-inline-functions
-fkeep-static-consts
-fno-function-cse
-fno-inline
-fomit-frame-pointer
-foptimize-sibling-calls
-Aquestion (answer)
-A -predicate =answer Cancel an assertion with the predicate predicate and
-A predicate =answer
Option
Options for Controlling the Preprocessor
Option
MACHINE-INDEPENDENT OPTIMIZATION OPTIONS
PREPROCESSOR OPTIONS
Using MPLAB C30 C Compiler
Assert the answer answer for question question, in case it is
tested with a preprocessing conditional such as #if
#question(answer). -A- disables the standard assertions
that normally describe the target machine.
For example, the function prototype for main might be declared
as follows:
#if #environ(freestanding)
int main(void);
#else
int main(int argc, char *argv[]);
#endif
A -A command-line option could then be used to select
between the two prototypes. For example, to select the first of
the two, the following command-line option could be used:
-Aenviron(freestanding)
answer answer.
Make an assertion with the predicate predicate and answer
answer. This form is preferred to the older form
-A predicate(answer), which is still supported, because it
does not use shell special characters.
Even if all calls to a given function are integrated, and the
function is declared static, output a separate runtime
callable version of the function. This switch does not
affect extern inline functions.
Emit variables declared static const when optimization
isn't turned on, even if the variables aren't referenced.
MPLAB C30 enables this option by default. If you want to
force the compiler to check if the variable was referenced,
regardless of whether or not optimization is turned on,
use the -fno-keep-static-consts option.
Do not put function addresses in registers; make each
instruction that calls a constant function contain the
function's address explicitly.
This option results in less efficient code, but some
strange hacks that alter the assembler output may be
confused by the optimizations performed when this option
is not used.
Do not pay attention to the inline keyword. Normally
this option is used to keep the compiler from expanding
any functions inline. If optimization is not enabled, no
functions can be expanded inline.
Do not keep the Frame Pointer in a register for functions
that don't need one. This avoids the instructions to save,
set up and restore Frame Pointers; it also makes an extra
register available in many functions.
Optimize sibling and tail recursive calls.
Definition
Definition
DS51284F-page 51

Related parts for SW006012