Microchip Technology SW006022-1N Data Sheet

Page of 338
MPLAB
®
 XC16 C Compiler User’s Guide
DS52071B-page 82
 2012 Microchip Technology Inc.
3.7.10
Options for Directory Search
The following options specify to the compiler where to find directories and files to 
search.
3.7.11
Options for Code Generation Conventions
Options of the form -fflag specify machine-independent flags. Most flags have both 
positive and negative forms; the negative form of -ffoo would be -fno-foo. In the 
table below, only one of the forms is listed (the one that is not the default.)
TABLE 3-17:
DIRECTORY SEARCH OPTIONS
Option
Definition
-specs=file
Process file after the compiler reads in the standard specs file, in 
order to override the defaults that the xc16-gcc driver program 
uses when determining what switches to pass to xc16-cc1, 
xc16-as
, xc16-ld, etc. More than one -specs=file can be 
specified on the command line, and they are processed in order, 
from left to right.
TABLE 3-18:
CODE GENERATION CONVENTION OPTIONS
Option
Definition
-fargument-alias 
-fargument-noalias 
-fargument-
 noalias-global 
Specify the possible relationships among parameters and between 
parameters and global data.
-fargument-alias
 specifies that arguments (parameters) may 
alias each other and may alias global storage.
-fargument-noalias
 specifies that arguments do not alias 
each other, but may alias global storage.
-fargument-noalias-global
 specifies that arguments do not 
alias each other and do not alias global storage.
Each language will automatically use whatever option is required 
by the language standard. You should not need to use these 
options yourself.
-fcall-saved-reg
Treat the register named reg as an allocatable register saved by 
functions. It may be allocated even for temporaries or variables 
that live across a call. Functions compiled this way will save and 
restore the register reg if they use it.
It is an error to used this flag with the Frame Pointer or Stack 
Pointer. Use of this flag for other registers that have fixed perva-
sive roles in the machine’s execution model will produce disas-
trous results. 
A different sort of disaster will result from the use of this flag for a 
register in which function values may be returned. 
This flag should be used consistently through all modules.
-fcall-used-reg
Treat the register named reg as an allocatable register that is 
clobbered by function calls. It may be allocated for temporaries or 
variables that do not live across a call. Functions compiled this way 
will not save and restore the register reg
It is an error to use this flag with the Frame Pointer or Stack 
Pointer. Use of this flag for other registers that have fixed perva-
sive roles in the machine’s execution model will produce disas-
trous results.
This flag should be used consistently through all modules.
-ffixed-reg
Treat the register named reg as a fixed register; generated code 
should never refer to it (except perhaps as a Stack Pointer, Frame 
Pointer or in some other fixed role).
reg
 must be the name of a register, e.g., -ffixed-w3.
-fno-ident
Ignore the #ident directive.