]>
Commit | Line | Data |
---|---|---|
415dddc8 RK |
1 | ------------------------------------------------------------------------------ |
2 | -- -- | |
3 | -- GNAT COMPILER COMPONENTS -- | |
4 | -- -- | |
5 | -- U S A G E -- | |
6 | -- -- | |
7 | -- B o d y -- | |
415dddc8 | 8 | -- -- |
0eed45bb | 9 | -- Copyright (C) 1992-2010, Free Software Foundation, Inc. -- |
415dddc8 RK |
10 | -- -- |
11 | -- GNAT is free software; you can redistribute it and/or modify it under -- | |
12 | -- terms of the GNU General Public License as published by the Free Soft- -- | |
b5c84c3c | 13 | -- ware Foundation; either version 3, or (at your option) any later ver- -- |
415dddc8 RK |
14 | -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- |
15 | -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- | |
16 | -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- | |
17 | -- for more details. You should have received a copy of the GNU General -- | |
b5c84c3c RD |
18 | -- Public License distributed with GNAT; see file COPYING3. If not, go to -- |
19 | -- http://www.gnu.org/licenses for a complete copy of the license. -- | |
415dddc8 RK |
20 | -- -- |
21 | -- GNAT was originally developed by the GNAT team at New York University. -- | |
71ff80dc | 22 | -- Extensive contributions were provided by Ada Core Technologies Inc. -- |
415dddc8 RK |
23 | -- -- |
24 | ------------------------------------------------------------------------------ | |
25 | ||
1a5f40e1 VC |
26 | -- Warning: the output of this usage for warnings is duplicated in the GNAT |
27 | -- reference manual. Be sure to update that if you change the warning list. | |
28 | ||
8f7770f9 RD |
29 | with Targparm; use Targparm; |
30 | with Namet; use Namet; | |
31 | with Opt; use Opt; | |
32 | with Osint; use Osint; | |
33 | with Output; use Output; | |
34 | ||
415dddc8 RK |
35 | with System.WCh_Con; use System.WCh_Con; |
36 | ||
37 | procedure Usage is | |
38 | ||
39 | procedure Write_Switch_Char (Sw : String; Prefix : String := "gnat"); | |
07fc65c4 | 40 | -- Output two spaces followed by the switch character minus followed |
b8dfbe1e AC |
41 | -- Prefix, followed by the string given as the argument, and then enough |
42 | -- blanks to tab to column 13, i.e. assuming Sw is not longer than 5 | |
43 | -- characters, the maximum allowed, Write_Switch_Char will always output | |
44 | -- exactly 12 characters. | |
415dddc8 | 45 | |
8f7770f9 RD |
46 | ----------------------- |
47 | -- Write_Switch_Char -- | |
48 | ----------------------- | |
49 | ||
415dddc8 RK |
50 | procedure Write_Switch_Char (Sw : String; Prefix : String := "gnat") is |
51 | begin | |
07fc65c4 | 52 | Write_Str (" -"); |
415dddc8 RK |
53 | Write_Str (Prefix); |
54 | Write_Str (Sw); | |
55 | ||
56 | for J in 1 .. 12 - 3 - Prefix'Length - Sw'Length loop | |
57 | Write_Char (' '); | |
58 | end loop; | |
59 | end Write_Switch_Char; | |
60 | ||
61 | -- Start of processing for Usage | |
62 | ||
63 | begin | |
64 | Find_Program_Name; | |
65 | ||
66 | -- For gnatmake, we are appending this information to the end of | |
67 | -- the normal gnatmake output, so generate appropriate header | |
68 | ||
69 | if Name_Len >= 8 | |
70 | and then (Name_Buffer (Name_Len - 7 .. Name_Len) = "gnatmake" | |
71 | or else | |
72 | Name_Buffer (Name_Len - 7 .. Name_Len) = "GNATMAKE") | |
73 | then | |
74 | Write_Eol; | |
75 | Write_Line ("Compiler switches (passed to the compiler by gnatmake):"); | |
76 | ||
77 | else | |
78 | -- Usage line | |
79 | ||
80 | Write_Str ("Usage: "); | |
81 | Write_Program_Name; | |
82 | Write_Char (' '); | |
83 | Write_Str ("switches sfile"); | |
84 | Write_Eol; | |
85 | Write_Eol; | |
86 | ||
87 | -- Line for sfile | |
88 | ||
89 | Write_Line (" sfile Source file name"); | |
90 | end if; | |
91 | ||
92 | Write_Eol; | |
93 | ||
056b0f6f | 94 | -- Common GCC switches not available for JVM, .NET, and AAMP targets |
415dddc8 | 95 | |
056b0f6f | 96 | if VM_Target = No_VM and then not AAMP_On_Target then |
415dddc8 RK |
97 | Write_Switch_Char ("fstack-check ", ""); |
98 | Write_Line ("Generate stack checking code"); | |
99 | ||
100 | Write_Switch_Char ("fno-inline ", ""); | |
101 | Write_Line ("Inhibit all inlining (makes executable smaller)"); | |
9549767b AC |
102 | |
103 | Write_Switch_Char ("fpreserve-control-flow ", ""); | |
104 | Write_Line ("Preserve control flow for coverage analysis"); | |
415dddc8 RK |
105 | end if; |
106 | ||
107 | -- Common switches available to both GCC and JGNAT | |
108 | ||
109 | Write_Switch_Char ("g ", ""); | |
110 | Write_Line ("Generate debugging information"); | |
111 | ||
112 | Write_Switch_Char ("Idir ", ""); | |
113 | Write_Line ("Specify source files search path"); | |
114 | ||
115 | Write_Switch_Char ("I- ", ""); | |
116 | Write_Line ("Do not look for sources in current directory"); | |
117 | ||
118 | Write_Switch_Char ("O[0123] ", ""); | |
119 | Write_Line ("Control the optimization level"); | |
120 | ||
121 | Write_Eol; | |
122 | ||
123 | -- Individual lines for switches. Write_Switch_Char outputs fourteen | |
124 | -- characters, so the remaining message is allowed to be a maximum | |
125 | -- of 65 characters to be comfortable on an 80 character device. | |
126 | -- If the Write_Str fits on one line, it is short enough! | |
127 | ||
128 | -- Line for -gnata switch | |
129 | ||
130 | Write_Switch_Char ("a"); | |
131 | Write_Line ("Assertions enabled. Pragma Assert/Debug to be activated"); | |
132 | ||
133 | -- Line for -gnatA switch | |
134 | ||
135 | Write_Switch_Char ("A"); | |
136 | Write_Line ("Avoid processing gnat.adc, if present file will be ignored"); | |
137 | ||
138 | -- Line for -gnatb switch | |
139 | ||
140 | Write_Switch_Char ("b"); | |
141 | Write_Line ("Generate brief messages to stderr even if verbose mode set"); | |
142 | ||
4351c21b AC |
143 | -- Line for -gnatB switch |
144 | ||
145 | Write_Switch_Char ("B"); | |
146 | Write_Line ("Assume no bad (invalid) values except in 'Valid attribute"); | |
147 | ||
415dddc8 RK |
148 | -- Line for -gnatc switch |
149 | ||
150 | Write_Switch_Char ("c"); | |
151 | Write_Line ("Check syntax and semantics only (no code generation)"); | |
152 | ||
76efd572 AC |
153 | -- Line for -gnatC switch |
154 | ||
155 | Write_Switch_Char ("C"); | |
156 | Write_Line ("Generate CodePeer information (no code generation)"); | |
157 | ||
415dddc8 RK |
158 | -- Line for -gnatd switch |
159 | ||
160 | Write_Switch_Char ("d?"); | |
fbf5a39b | 161 | Write_Line ("Compiler debug option ? ([.]a-z,A-Z,0-9), see debug.adb"); |
415dddc8 RK |
162 | |
163 | -- Line for -gnatD switch | |
164 | ||
165 | Write_Switch_Char ("D"); | |
dcd8728b RD |
166 | Write_Line ("Debug expanded generated code (max line length = 72)"); |
167 | Write_Switch_Char ("Dnn"); | |
a2dc5812 | 168 | Write_Line ("Debug expanded generated code (max line length = nn)"); |
415dddc8 RK |
169 | |
170 | -- Line for -gnatec switch | |
171 | ||
fbf5a39b AC |
172 | Write_Switch_Char ("ec=?"); |
173 | Write_Line ("Specify configuration pragmas file, e.g. -gnatec=/x/f.adc"); | |
174 | ||
175 | -- Line for -gnateD switch | |
176 | ||
177 | Write_Switch_Char ("eD?"); | |
178 | Write_Line ("Define or redefine preprocessing symbol, e.g. -gnateDsym=val"); | |
179 | ||
180 | -- Line for -gnatef switch | |
181 | ||
182 | Write_Switch_Char ("ef"); | |
183 | Write_Line ("Full source path in brief error messages"); | |
415dddc8 | 184 | |
f2170041 AC |
185 | -- Line for -gnateG switch |
186 | ||
187 | Write_Switch_Char ("eG"); | |
188 | Write_Line ("Generate preprocessed source"); | |
189 | ||
6b6fcd3e AC |
190 | -- Line for -gnateI switch |
191 | ||
aa635439 | 192 | Write_Switch_Char ("eInn"); |
6b6fcd3e AC |
193 | Write_Line ("Index in multi-unit source, e.g. -gnateI2"); |
194 | ||
6510f4c9 GB |
195 | -- Line for -gnatem switch |
196 | ||
fbf5a39b AC |
197 | Write_Switch_Char ("em=?"); |
198 | Write_Line ("Specify mapping file, e.g. -gnatem=mapping"); | |
199 | ||
200 | -- Line for -gnatep switch | |
201 | ||
202 | Write_Switch_Char ("ep=?"); | |
203 | Write_Line ("Specify preprocessing data file, e.g. -gnatep=prep.data"); | |
6510f4c9 | 204 | |
6f12117a RD |
205 | -- Line for -gnateS switch |
206 | ||
207 | Write_Switch_Char ("eS"); | |
208 | Write_Line ("Generate SCO (Source Coverage Obligation) information"); | |
209 | ||
415dddc8 RK |
210 | -- Line for -gnatE switch |
211 | ||
212 | Write_Switch_Char ("E"); | |
213 | Write_Line ("Dynamic elaboration checking mode enabled"); | |
214 | ||
215 | -- Line for -gnatf switch | |
216 | ||
217 | Write_Switch_Char ("f"); | |
218 | Write_Line ("Full errors. Verbose details, all undefined references"); | |
219 | ||
220 | -- Line for -gnatF switch | |
221 | ||
222 | Write_Switch_Char ("F"); | |
223 | Write_Line ("Force all import/export external names to all uppercase"); | |
224 | ||
225 | -- Line for -gnatg switch | |
226 | ||
227 | Write_Switch_Char ("g"); | |
228 | Write_Line ("GNAT implementation mode (used for compiling GNAT units)"); | |
229 | ||
dcd8728b | 230 | -- Lines for -gnatG switch |
415dddc8 RK |
231 | |
232 | Write_Switch_Char ("G"); | |
dcd8728b RD |
233 | Write_Line ("Output generated expanded code (max line length = 72)"); |
234 | Write_Switch_Char ("Gnn"); | |
235 | Write_Line ("Output generated expanded code (max line length = nn)"); | |
415dddc8 RK |
236 | |
237 | -- Line for -gnath switch | |
238 | ||
239 | Write_Switch_Char ("h"); | |
240 | Write_Line ("Output this usage (help) information"); | |
241 | ||
242 | -- Line for -gnati switch | |
243 | ||
244 | Write_Switch_Char ("i?"); | |
07fc65c4 | 245 | Write_Line ("Identifier char set (?=1/2/3/4/5/8/9/p/f/n/w)"); |
415dddc8 | 246 | |
c690a2ec RD |
247 | -- Line for -gnatI switch |
248 | ||
249 | Write_Switch_Char ("I"); | |
250 | Write_Line ("Ignore all representation clauses"); | |
251 | ||
ba1cbfb9 RD |
252 | -- Line for -gnatj switch |
253 | ||
254 | Write_Switch_Char ("jnn"); | |
255 | Write_Line ("Format error and warning messages to fit nn character lines"); | |
256 | ||
415dddc8 RK |
257 | -- Line for -gnatk switch |
258 | ||
259 | Write_Switch_Char ("k"); | |
aa635439 | 260 | Write_Line ("Limit file names to nn characters (k = krunch)"); |
415dddc8 | 261 | |
ba1cbfb9 | 262 | -- Lines for -gnatl switch |
415dddc8 RK |
263 | |
264 | Write_Switch_Char ("l"); | |
265 | Write_Line ("Output full source listing with embedded error messages"); | |
ba1cbfb9 RD |
266 | Write_Switch_Char ("l=f"); |
267 | Write_Line ("Output full source listing to specified file"); | |
268 | ||
269 | -- Line for -gnatL switch | |
270 | ||
271 | Write_Switch_Char ("L"); | |
272 | Write_Line ("List corresponding source text in -gnatG or -gnatD output"); | |
415dddc8 | 273 | |
415dddc8 RK |
274 | -- Line for -gnatm switch |
275 | ||
aa635439 | 276 | Write_Switch_Char ("mnn"); |
923e6ff3 | 277 | Write_Line ("Limit number of detected errors/warnings to nn (1-999999)"); |
415dddc8 RK |
278 | |
279 | -- Line for -gnatn switch | |
280 | ||
281 | Write_Switch_Char ("n"); | |
282 | Write_Line ("Inlining of subprograms (apply pragma Inline across units)"); | |
283 | ||
284 | -- Line for -gnatN switch | |
285 | ||
286 | Write_Switch_Char ("N"); | |
19f0526a | 287 | Write_Line ("Full (frontend) inlining of subprograms"); |
415dddc8 RK |
288 | |
289 | -- Line for -gnato switch | |
290 | ||
291 | Write_Switch_Char ("o"); | |
292 | Write_Line ("Enable overflow checking (off by default)"); | |
293 | ||
294 | -- Line for -gnatO switch | |
295 | ||
296 | Write_Switch_Char ("O nm "); | |
297 | Write_Line ("Set name of output ali file (internal switch)"); | |
298 | ||
299 | -- Line for -gnatp switch | |
300 | ||
301 | Write_Switch_Char ("p"); | |
302 | Write_Line ("Suppress all checks"); | |
303 | ||
304 | -- Line for -gnatP switch | |
305 | ||
306 | Write_Switch_Char ("P"); | |
307 | Write_Line ("Generate periodic calls to System.Polling.Poll"); | |
308 | ||
309 | -- Line for -gnatq switch | |
310 | ||
311 | Write_Switch_Char ("q"); | |
312 | Write_Line ("Don't quit, try semantics, even if parse errors"); | |
313 | ||
314 | -- Line for -gnatQ switch | |
315 | ||
316 | Write_Switch_Char ("Q"); | |
317 | Write_Line ("Don't quit, write ali/tree file even if compile errors"); | |
318 | ||
23e6615e RD |
319 | -- Line for -gnatr switch |
320 | ||
321 | Write_Switch_Char ("r"); | |
322 | Write_Line ("Treat pragma Restrictions as Restriction_Warnings"); | |
323 | ||
aa720a54 | 324 | -- Lines for -gnatR switch |
415dddc8 RK |
325 | |
326 | Write_Switch_Char ("R?"); | |
aa720a54 AC |
327 | Write_Line ("List rep info (?=0/1/2/3 for none/types/all/variable)"); |
328 | Write_Switch_Char ("R?s"); | |
329 | Write_Line ("List rep info to file.rep instead of standard output"); | |
415dddc8 RK |
330 | |
331 | -- Lines for -gnats switch | |
332 | ||
333 | Write_Switch_Char ("s"); | |
334 | Write_Line ("Syntax check only"); | |
335 | ||
9596236a AC |
336 | -- Lines for -gnatS switch |
337 | ||
338 | Write_Switch_Char ("S"); | |
339 | Write_Line ("Print listing of package Standard"); | |
340 | ||
415dddc8 RK |
341 | -- Lines for -gnatt switch |
342 | ||
343 | Write_Switch_Char ("t"); | |
344 | Write_Line ("Tree output file to be generated"); | |
345 | ||
346 | -- Line for -gnatT switch | |
347 | ||
aa635439 AC |
348 | Write_Switch_Char ("Tnn"); |
349 | Write_Line ("All compiler tables start at nn times usual starting size"); | |
415dddc8 RK |
350 | |
351 | -- Line for -gnatu switch | |
352 | ||
353 | Write_Switch_Char ("u"); | |
354 | Write_Line ("List units for this compilation"); | |
355 | ||
356 | -- Line for -gnatU switch | |
357 | ||
358 | Write_Switch_Char ("U"); | |
359 | Write_Line ("Enable unique tag for error messages"); | |
360 | ||
361 | -- Line for -gnatv switch | |
362 | ||
363 | Write_Switch_Char ("v"); | |
364 | Write_Line ("Verbose mode. Full error output with source lines to stdout"); | |
365 | ||
366 | -- Line for -gnatV switch | |
367 | ||
9a5621d7 | 368 | Write_Switch_Char ("Vxx"); |
415dddc8 | 369 | Write_Line |
9a5621d7 RD |
370 | ("Enable selected validity checking mode, xx = list of parameters:"); |
371 | Write_Line (" a turn on all validity checking options"); | |
07fc65c4 GB |
372 | Write_Line (" c turn on checking for copies"); |
373 | Write_Line (" C turn off checking for copies"); | |
374 | Write_Line (" d turn on default (RM) checking"); | |
375 | Write_Line (" D turn off default (RM) checking"); | |
ba1cbfb9 RD |
376 | Write_Line (" e turn on checking for elementary components"); |
377 | Write_Line (" E turn off checking for elementary components"); | |
07fc65c4 GB |
378 | Write_Line (" f turn on checking for floating-point"); |
379 | Write_Line (" F turn off checking for floating-point"); | |
380 | Write_Line (" i turn on checking for in params"); | |
381 | Write_Line (" I turn off checking for in params"); | |
382 | Write_Line (" m turn on checking for in out params"); | |
383 | Write_Line (" M turn off checking for in out params"); | |
384 | Write_Line (" o turn on checking for operators/attributes"); | |
385 | Write_Line (" O turn off checking for operators/attributes"); | |
fbf5a39b AC |
386 | Write_Line (" p turn on checking for parameters"); |
387 | Write_Line (" P turn off checking for parameters"); | |
07fc65c4 GB |
388 | Write_Line (" r turn on checking for returns"); |
389 | Write_Line (" R turn off checking for returns"); | |
390 | Write_Line (" s turn on checking for subscripts"); | |
391 | Write_Line (" S turn off checking for subscripts"); | |
392 | Write_Line (" t turn on checking for tests"); | |
393 | Write_Line (" T turn off checking for tests"); | |
9a5621d7 | 394 | Write_Line (" n turn off all validity checks (including RM)"); |
415dddc8 RK |
395 | |
396 | -- Lines for -gnatw switch | |
397 | ||
398 | Write_Switch_Char ("wxx"); | |
399 | Write_Line ("Enable selected warning modes, xx = list of parameters:"); | |
51bf9bdf | 400 | Write_Line (" a turn on all info/warnings marked below with +"); |
3acdda2d | 401 | Write_Line (" A turn off all optional info/warnings"); |
51bf9bdf | 402 | Write_Line (" .a*+ turn on warnings for failing assertion"); |
4ae23b62 | 403 | Write_Line (" .A turn off warnings for failing assertion"); |
51bf9bdf | 404 | Write_Line (" b+ turn on warnings for bad fixed value " & |
debe0ab6 RD |
405 | "(not multiple of small)"); |
406 | Write_Line (" B* turn off warnings for bad fixed value " & | |
407 | "(not multiple of small)"); | |
51bf9bdf | 408 | Write_Line (" .b*+ turn on warnings for biased representation"); |
4ae23b62 | 409 | Write_Line (" .B turn off warnings for biased representation"); |
51bf9bdf | 410 | Write_Line (" c+ turn on warnings for constant conditional"); |
fbf5a39b | 411 | Write_Line (" C* turn off warnings for constant conditional"); |
51bf9bdf | 412 | Write_Line (" .c+ turn on warnings for unrepped components"); |
8f7770f9 | 413 | Write_Line (" .C* turn off warnings for unrepped components"); |
fbf5a39b AC |
414 | Write_Line (" d turn on warnings for implicit dereference"); |
415 | Write_Line (" D* turn off warnings for implicit dereference"); | |
3acdda2d AC |
416 | Write_Line (" e treat all warnings (but not info) as errors"); |
417 | Write_Line (" .e turn on every optional info/warning " & | |
418 | "(no exceptions)"); | |
51bf9bdf | 419 | Write_Line (" f+ turn on warnings for unreferenced formal"); |
fbf5a39b | 420 | Write_Line (" F* turn off warnings for unreferenced formal"); |
51bf9bdf | 421 | Write_Line (" g*+ turn on warnings for unrecognized pragma"); |
fbf5a39b | 422 | Write_Line (" G turn off warnings for unrecognized pragma"); |
4ae23b62 | 423 | Write_Line (" h turn on warnings for hiding variable"); |
fbf5a39b | 424 | Write_Line (" H* turn off warnings for hiding variable"); |
9a1bc6d5 AC |
425 | Write_Line (" .h turn on warnings for holes in records"); |
426 | Write_Line (" .H* turn off warnings for holes in records"); | |
51bf9bdf | 427 | Write_Line (" i*+ turn on warnings for implementation unit"); |
fbf5a39b | 428 | Write_Line (" I turn off warnings for implementation unit"); |
4b2d2c13 AC |
429 | Write_Line (" .i turn on warnings for overlapping actuals"); |
430 | Write_Line (" .I* turn off warnings for overlapping actuals"); | |
51bf9bdf | 431 | Write_Line (" j+ turn on warnings for obsolescent " & |
fbf5a39b AC |
432 | "(annex J) feature"); |
433 | Write_Line (" J* turn off warnings for obsolescent " & | |
434 | "(annex J) feature"); | |
51bf9bdf | 435 | Write_Line (" k+ turn on warnings on constant variable"); |
fbf5a39b AC |
436 | Write_Line (" K* turn off warnings on constant variable"); |
437 | Write_Line (" l turn on warnings for missing " & | |
438 | "elaboration pragma"); | |
439 | Write_Line (" L* turn off warnings for missing " & | |
440 | "elaboration pragma"); | |
51bf9bdf | 441 | Write_Line (" m+ turn on warnings for variable assigned " & |
fbf5a39b AC |
442 | "but not read"); |
443 | Write_Line (" M* turn off warnings for variable assigned " & | |
444 | "but not read"); | |
79afa047 AC |
445 | Write_Line (" .m* turn on warnings for suspicious modulus value"); |
446 | Write_Line (" .M turn off warnings for suspicious modulus value"); | |
fbf5a39b AC |
447 | Write_Line (" n* normal warning mode (cancels -gnatws/-gnatwe)"); |
448 | Write_Line (" o* turn on warnings for address clause overlay"); | |
449 | Write_Line (" O turn off warnings for address clause overlay"); | |
36fcf362 | 450 | Write_Line (" .o turn on warnings for out parameters assigned " & |
67ce0d7e | 451 | "but not read"); |
36fcf362 | 452 | Write_Line (" .O* turn off warnings for out parameters assigned " & |
67ce0d7e | 453 | "but not read"); |
51bf9bdf | 454 | Write_Line (" p+ turn on warnings for ineffective pragma " & |
1a5f40e1 | 455 | "Inline in frontend"); |
8f7770f9 | 456 | Write_Line (" P* turn off warnings for ineffective pragma " & |
1a5f40e1 | 457 | "Inline in frontend"); |
51bf9bdf | 458 | Write_Line (" .p+ turn on warnings for suspicious parameter " & |
1a5f40e1 VC |
459 | "order"); |
460 | Write_Line (" .P* turn off warnings for suspicious parameter " & | |
461 | "order"); | |
51bf9bdf | 462 | Write_Line (" q*+ turn on warnings for questionable " & |
4ae23b62 | 463 | "missing parenthesis"); |
a9a5b8ac | 464 | Write_Line (" Q turn off warnings for questionable " & |
4ae23b62 | 465 | "missing parenthesis"); |
51bf9bdf | 466 | Write_Line (" r+ turn on warnings for redundant construct"); |
fbf5a39b | 467 | Write_Line (" R* turn off warnings for redundant construct"); |
51bf9bdf | 468 | Write_Line (" .r+ turn on warnings for object renaming function"); |
8f7770f9 | 469 | Write_Line (" .R* turn off warnings for object renaming function"); |
3acdda2d | 470 | Write_Line (" s suppress all info/warnings"); |
b3f48fd4 AC |
471 | Write_Line (" .s turn on warnings for overridden size clause"); |
472 | Write_Line (" .S* turn off warnings for overridden size clause"); | |
ba1cbfb9 RD |
473 | Write_Line (" t turn on warnings for tracking deleted code"); |
474 | Write_Line (" T* turn off warnings for tracking deleted code"); | |
51bf9bdf | 475 | Write_Line (" u+ turn on warnings for unused entity"); |
fbf5a39b | 476 | Write_Line (" U* turn off warnings for unused entity"); |
bd29d519 AC |
477 | Write_Line (" .u turn on warnings for unordered enumeration"); |
478 | Write_Line (" .U* turn off warnings for unordered enumeration"); | |
51bf9bdf | 479 | Write_Line (" v*+ turn on warnings for unassigned variable"); |
fbf5a39b | 480 | Write_Line (" V turn off warnings for unassigned variable"); |
51bf9bdf | 481 | Write_Line (" .v*+ turn on info messages for reverse bit order"); |
3acdda2d | 482 | Write_Line (" .V turn off info messages for reverse bit order"); |
51bf9bdf | 483 | Write_Line (" w*+ turn on warnings for wrong low bound assumption"); |
ba1cbfb9 RD |
484 | Write_Line (" W turn off warnings for wrong low bound " & |
485 | "assumption"); | |
da508766 | 486 | Write_Line (" .w turn on warnings on pragma Warnings Off"); |
fd22cd21 | 487 | Write_Line (" .W* turn off warnings on pragma Warnings Off"); |
51bf9bdf | 488 | Write_Line (" x*+ turn on warnings for export/import"); |
f81e6250 | 489 | Write_Line (" X turn off warnings for export/import"); |
51bf9bdf | 490 | Write_Line (" .x+ turn on warnings for non-local exception"); |
4ae23b62 | 491 | Write_Line (" .X* turn off warnings for non-local exception"); |
51bf9bdf | 492 | Write_Line (" y*+ turn on warnings for Ada 2005 incompatibility"); |
f81e6250 | 493 | Write_Line (" Y turn off warnings for Ada 2005 incompatibility"); |
51bf9bdf | 494 | Write_Line (" z*+ turn on warnings for suspicious " & |
382d35e0 RD |
495 | "unchecked conversion"); |
496 | Write_Line (" Z turn off warnings for suspicious " & | |
497 | "unchecked conversion"); | |
415dddc8 | 498 | Write_Line (" * indicates default in above list"); |
51bf9bdf | 499 | Write_Line (" + indicates warning flag included in -gnatwa"); |
415dddc8 RK |
500 | |
501 | -- Line for -gnatW switch | |
502 | ||
503 | Write_Switch_Char ("W"); | |
504 | Write_Str ("Wide character encoding method ("); | |
505 | ||
506 | for J in WC_Encoding_Method loop | |
507 | Write_Char (WC_Encoding_Letters (J)); | |
508 | ||
509 | if J = WC_Encoding_Method'Last then | |
510 | Write_Char (')'); | |
511 | else | |
512 | Write_Char ('/'); | |
513 | end if; | |
514 | end loop; | |
515 | ||
516 | Write_Eol; | |
517 | ||
518 | -- Line for -gnatx switch | |
519 | ||
520 | Write_Switch_Char ("x"); | |
521 | Write_Line ("Suppress output of cross-reference information"); | |
522 | ||
523 | -- Line for -gnatX switch | |
524 | ||
525 | Write_Switch_Char ("X"); | |
526 | Write_Line ("Language extensions permitted"); | |
527 | ||
528 | -- Lines for -gnaty switch | |
529 | ||
530 | Write_Switch_Char ("y"); | |
448f2610 | 531 | Write_Line ("Enable default style checks (same as -gnaty3abcefhiklmnprst)"); |
415dddc8 RK |
532 | Write_Switch_Char ("yxx"); |
533 | Write_Line ("Enable selected style checks xx = list of parameters:"); | |
534 | Write_Line (" 1-9 check indentation"); | |
535 | Write_Line (" a check attribute casing"); | |
a9a5b8ac | 536 | Write_Line (" A check array attribute indexes"); |
415dddc8 | 537 | Write_Line (" b check no blanks at end of lines"); |
a36c1c3e | 538 | Write_Line (" B check no use of AND/OR for boolean expressions"); |
415dddc8 | 539 | Write_Line (" c check comment format"); |
debe0ab6 | 540 | Write_Line (" d check no DOS line terminators"); |
415dddc8 RK |
541 | Write_Line (" e check end/exit labels present"); |
542 | Write_Line (" f check no form feeds/vertical tabs in source"); | |
8f7770f9 | 543 | Write_Line (" g check standard GNAT style rules"); |
415dddc8 RK |
544 | Write_Line (" h check no horizontal tabs in source"); |
545 | Write_Line (" i check if-then layout"); | |
4f73f89c | 546 | Write_Line (" I check mode in"); |
fbf5a39b | 547 | Write_Line (" k check casing rules for keywords"); |
415dddc8 | 548 | Write_Line (" l check reference manual layout"); |
aa635439 | 549 | Write_Line (" Lnn check max nest level < nn "); |
415dddc8 RK |
550 | Write_Line (" m check line length <= 79 characters"); |
551 | Write_Line (" n check casing of package Standard identifiers"); | |
c690a2ec | 552 | Write_Line (" Mnn check line length <= nn characters"); |
1a5f40e1 | 553 | Write_Line (" N turn off all checks"); |
415dddc8 | 554 | Write_Line (" o check subprogram bodies in alphabetical order"); |
ed57136d | 555 | Write_Line (" O check overriding indicators"); |
415dddc8 | 556 | Write_Line (" p check pragma casing"); |
fbf5a39b | 557 | Write_Line (" r check casing for identifier references"); |
415dddc8 | 558 | Write_Line (" s check separate subprogram specs present"); |
c690a2ec | 559 | Write_Line (" S check separate lines after THEN or ELSE"); |
415dddc8 | 560 | Write_Line (" t check token separation rules"); |
f81e6250 | 561 | Write_Line (" u check no unnecessary blank lines"); |
a9a5b8ac | 562 | Write_Line (" x check extra parentheses around conditionals"); |
1a5f40e1 VC |
563 | Write_Line (" y turn on default style checks"); |
564 | Write_Line (" - subtract (turn off) subsequent checks"); | |
565 | Write_Line (" + add (turn on) subsequent checks"); | |
415dddc8 | 566 | |
2e071734 AC |
567 | -- Lines for -gnatyN switch |
568 | ||
569 | Write_Switch_Char ("yN"); | |
570 | Write_Line ("Cancel all previously set style checks"); | |
571 | ||
c94a0b9d | 572 | -- Lines for -gnatzc switch |
415dddc8 | 573 | |
c94a0b9d AC |
574 | Write_Switch_Char ("zc"); |
575 | Write_Line ("Distribution stub generation for caller stubs"); | |
576 | ||
577 | -- Lines for -gnatzr switch | |
578 | ||
579 | Write_Switch_Char ("zr"); | |
580 | Write_Line ("Distribution stub generation for receiver stubs"); | |
415dddc8 | 581 | |
415dddc8 RK |
582 | -- Line for -gnat83 switch |
583 | ||
584 | Write_Switch_Char ("83"); | |
585 | Write_Line ("Enforce Ada 83 restrictions"); | |
586 | ||
728c3084 RD |
587 | -- Line for -gnat95 switch |
588 | ||
589 | Write_Switch_Char ("95"); | |
590 | ||
591 | if Ada_Version_Default = Ada_95 then | |
592 | Write_Line ("Ada 95 mode (default)"); | |
593 | else | |
594 | Write_Line ("Enforce Ada 95 restrictions"); | |
595 | end if; | |
596 | ||
448f2610 AC |
597 | -- Line for -gnat05 switch |
598 | ||
599 | Write_Switch_Char ("05"); | |
728c3084 | 600 | |
0791fbe9 | 601 | if Ada_Version_Default = Ada_2005 then |
728c3084 RD |
602 | Write_Line ("Ada 2005 mode (default)"); |
603 | else | |
0eed45bb AC |
604 | Write_Line ("Enforce Ada 2005 restrictions"); |
605 | end if; | |
606 | ||
607 | -- Line for -gnat12 switch | |
608 | ||
609 | Write_Switch_Char ("12"); | |
610 | ||
dbe945f1 | 611 | if Ada_Version_Default = Ada_2012 then |
0eed45bb AC |
612 | Write_Line ("Ada 2012 mode (default)"); |
613 | else | |
614 | Write_Line ("Allow Ada 2012 extensions"); | |
728c3084 | 615 | end if; |
448f2610 | 616 | |
3f165ff2 AC |
617 | -- Line for -gnat-p switch |
618 | ||
619 | Write_Switch_Char ("-p"); | |
620 | Write_Line ("Cancel effect of previous -gnatp switch"); | |
621 | ||
415dddc8 | 622 | end Usage; |