updated on Thu Jan 26 16:09:46 UTC 2012
[aur-mirror.git] / pic30-gcc / docs.diff
blob8fe7f6257a45f3458e6edb1ad75d3de70aa5ae74
1 --- ./gcc/doc/invoke.texi.~1~ 2009-01-31 15:47:38.000000000 +0100
2 +++ ./gcc/doc/invoke.texi 2009-01-31 16:23:13.000000000 +0100
3 @@ -599,6 +599,17 @@
4 -mbranch-expensive -mbranch-cheap @gol
5 -msplit -mno-split -munix-asm -mdec-asm}
7 +@emph{PIC30 Options}
8 +@gccoptlist{-msmall-data -mlarge-data@gol
9 +-msmall-scalar -msmall-aggregate@gol
10 +-mlarge-aggregate -msmall-code -mlarge-code@gol
11 +-mconst-in-data -mconst-in-code@gol
12 +-mpa -mno-pa -msmart-io -mno-isr-warn@gol
13 +-mno-file@gol
14 +-mcpu=CPU -merrata=ERRATA -mfillupper=VALUE@gol
15 +-mit=OPTION -mpa=LIMIT -mresource=PATH@gol
16 +-msmart-io=LEVEL -mtext=TEXT-SECTION}
18 @emph{PowerPC Options}
19 See RS/6000 and PowerPC Options.
21 @@ -6714,6 +6725,7 @@
22 * MN10300 Options::
23 * NS32K Options::
24 * PDP-11 Options::
25 +* PIC30 Options::
26 * PowerPC Options::
27 * RS/6000 and PowerPC Options::
28 * S/390 and zSeries Options::
29 @@ -10386,6 +10398,142 @@
30 PDP-11 target other than @samp{pdp11-*-bsd}.
31 @end table
33 +@node PIC30 Options
34 +@subsection PIC30 Options
35 +@cindex PIC30 Options
37 +These options are defined for the PDP-11:
39 +@table @gcctabopt
40 +@item -msmall-data
41 +@opindex msmall-data
42 +Compile using the small data model. All static and external variables
43 +will be assumed to be located in the lower 8 kB of data memory space.
44 +(This is the default)
46 +@item -mlarge-data
47 +@opindex mlarge-data
48 +Compile using the large data model. No assumptions are made about
49 +the location of static and exernal variables.
51 +@item -msmall-scalar
52 +@opindex msmall-scalar
53 +Like -msmall-data, execpt that only satic and exernal scalars are
54 +assumed to be in the lower 8 kB of data memory space. (This is the
55 +default.)
57 +@item -mlarge-scalar
58 +@opindex mlarge-scalar
59 +Use large scalar data model.
61 +@item -msmall-aggregate
62 +@opindex msmall-aggregate
63 +Use small aggregate data model.
65 +@item -mlarge-aggregate
66 +@opindex mlarge-aggregate
67 +Use large aggregate data model.
69 +@item -msmall-code
70 +@opindex msmall-code
71 +Compile using the small code mode. Called functions are assumed to
72 +be proximae (within 32 Kwords of the caller). (This is the default).
74 +@item -mlarge-code
75 +@opindex mlarge-code
76 +Compile using the large code model. No assumptions are made about
77 +the locality of called functions.
78 +When this option is chosen, single functions that are larger than 32k
79 +are not supported and may cause assembly-time errors since all
80 +branches inside of a function are of the short form.
82 +@item -mconst-in-data
83 +@opindex mconst-in-data
84 +Put constants in data memory space.
86 +@item -mconst-in-code
87 +@opindex mconst-in-code
88 +Put constants in the auto_psv space. Those constants will be accessed
89 +using the PSV window (default).
91 +@item -mpa
92 +@opindex mpa
93 +Enable the procedure abstraction optimization.
94 +This optimization is normally not available on Linux.
96 +@item -mno-pa
97 +@opindex mno-pa
98 +Do not run procedural abstraction stage. (this is the default)
100 +@item -msmart-io
101 +@opindex msmart-io
102 +This option attempts to statically analyze format strings passed to
103 +@emph{prinf}, @emph{scanf} and the @emph{f} and @emph{v} variations of these functions. Uses of
104 +nonfloating point format argumens will be converted to use an
105 +integer-only variation of the library functions.
107 +@item -mno-isr-warn
108 +@opindex mno-isr-warn
109 +By default the compiler will procedure a warning if the __interrupt__
110 +is not attached to a recognized interrupt vector name. This option will
111 +disable that feature.
113 +@item -mno-file
114 +@opindex mno-file
115 +Disable placing file directive in assembly output.
117 +@item -mcpu=TARGET
118 +@opindex mcpu=TARGET
119 +This option selects the target processor ID (and communicates it to the
120 +assembler and linker if those tools are invoked). This option affects how
121 +some predefined constants are set.
122 +The allowed cpu types is defined by Microchip in the file @file{/usr/pic30/c30_device.info}.
123 +The default if @emph{-mcpu} is not specified, or if the @file{/usr/pic30/c30_device.info} file is unavailable is @emph{-mcpu=generic-16bit}.
125 +@item -merrata=ID[,ID]*
126 +@opindex merrata=ID[,ID]*
127 +This option enables specific errata work arounds identified by ID.
128 +Valid values for ID change from time to time and may not be required
129 +for a particular version. An ID of @emph{list} will display the currently
130 +supported errate identifiers along with a brief description of the errata.
131 +An ID of @emph{all} will enable all currently supported errata work arounds.
133 +@item -mfillupper=VALUE
134 +@opindex mfillupper=VALUE
135 +Select global fillupper value for data stored in FLASH.
137 +@item -mit=ENABLE
138 +@opindex mit=ENABLE
139 +Enable instrumented trace.
141 +@item -mpa=N
142 +@opindex mpa=N
143 +Enable the procedure abstraction optimization up to level N.
144 +This option is not available on Linux
146 +@item -mresource=PATH
147 +@opindex mresource=PATH
148 +Identify MPLABC30 resource file.
150 +@item -msmart-io=LEVEL
151 +@opindex msmart-io=LEVEL
152 +This option attempts to statically analyze format strings passed to
153 +@emph{prinf}, @emph{scanf} and the @emph{f} and @emph{v} variations of these functions. Uses of
154 +nonfloating point format argumens will be converted to use an
155 +integer-only variation of the library functions.
156 +@emph{-msmart-io=0} disables this option, while @emph{-msmart-io=2} causes the
157 +compiler to be optimistic and convert cuntion calls with variable or
158 +unknown format arguments. @emph{-msmart-io=1} is the default and will
159 +only convert the literal values it can prove.
161 +@item -mtext=TEXT-SECTION
162 +@opindex mtext=TEXT-SECTION
163 +Specifying -mtext=name will cause test (program code) to be placed
164 +in a section named @emph{name} rather than the default @emph{.text} section. No
165 +white spaces should appear around the =.
166 +@end table
169 @node PowerPC Options
170 @subsection PowerPC Options
171 @cindex PowerPC options
172 --- ./gcc/doc/cpp.texi.~1~ 2009-02-01 09:14:19.000000000 +0100
173 +++ ./gcc/doc/cpp.texi 2009-02-01 09:23:56.000000000 +0100
174 @@ -850,13 +850,13 @@
175 requested with @code{@w{#include <@var{file}>}} in:
177 @smallexample
178 -/usr/local/include
179 +/usr/local/pic30/include
180 @var{libdir}/gcc/@var{target}/@var{version}/include
181 /usr/@var{target}/include
182 -/usr/include
183 +/usr/pic30/include
184 @end smallexample
186 -For C++ programs, it will also look in @file{/usr/include/g++-v3},
187 +For C++ programs, it will also look in @file{/usr/pic30/include/g++-v3},
188 first. In the above, @var{target} is the canonical name of the system
189 GCC was configured to compile code for; often but not always the same as
190 the canonical name of the system it runs on. @var{version} is the
191 @@ -885,9 +885,9 @@
192 first in the directory containing the current file, then in the
193 directories as specified by @option{-iquote} options, then in the same
194 places it would have looked for a header requested with angle
195 -brackets. For example, if @file{/usr/include/sys/stat.h} contains
196 +brackets. For example, if @file{/usr/pic30/include/sys/stat.h} contains
197 @code{@w{#include "types.h"}}, GCC looks for @file{types.h} first in
198 -@file{/usr/include/sys}, then in its usual search path.
199 +@file{/usr/pic30/include/sys}, then in its usual search path.
201 @samp{#line} (@pxref{Line Control}) does not change GCC's idea of the
202 directory containing the current file.
203 @@ -1065,7 +1065,7 @@
205 You could include the old header with an absolute pathname:
206 @smallexample
207 -#include "/usr/include/old-header.h"
208 +#include "/usr/pic30/include/old-header.h"
209 @end smallexample
210 @noindent
211 This works, but is not clean; should the system headers ever move, you
212 @@ -1078,12 +1078,12 @@
213 searching the list of header file directories @emph{ph{after} the directory
214 in which the current file was found.
216 -Suppose you specify @option{-I /usr/local/include}, and the list of
217 -directories to search also includes @file{/usr/include}; and suppose
218 +Suppose you specify @option{-I /usr/local/pic30/include}, and the list of
219 +directories to search also includes @file{/usr/pic30/include}; and suppose
220 both directories contain @file{signal.h}. Ordinary @code{@w{#include
221 -<signal.h>}} finds the file under @file{/usr/local/include}. If that
222 +<signal.h>}} finds the file under @file{/usr/local/pic30/include}. If that
223 file contains @code{@w{#include_next <signal.h>}}, it starts searching
224 -after that directory, and finds the file in @file{/usr/include}.
225 +after that directory, and finds the file in @file{/usr/pic30/include}.
227 @samp{#include_next} does not distinguish between @code{<@var{file}>}
228 and @code{"@var{file}"} inclusion, nor does it check that the file you
229 @@ -1789,7 +1789,7 @@
230 a C string constant. This is the path by which the preprocessor opened
231 the file, not the short name specified in @samp{#include} or as the
232 input file name argument. For example,
233 -@code{"/usr/local/include/myheader.h"} is a possible expansion of this
234 +@code{"/usr/local/pic30/include/myheader.h"} is a possible expansion of this
235 macro.
237 @item __LINE__
238 @@ -3306,7 +3306,7 @@
240 @smallexample
241 #pragma GCC dependency "parse.y"
242 -#pragma GCC dependency "/usr/include/time.h" rerun fixincludes
243 +#pragma GCC dependency "/usr/pic30/include/time.h" rerun fixincludes
244 @end smallexample
246 @item #pragma GCC poison