]>
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 | ||
437f8c1e AC |
180 | -- Line for -gnateE switch |
181 | ||
182 | Write_Switch_Char ("eE"); | |
183 | Write_Line ("Generate extra information in exception messages"); | |
184 | ||
fbf5a39b AC |
185 | -- Line for -gnatef switch |
186 | ||
187 | Write_Switch_Char ("ef"); | |
188 | Write_Line ("Full source path in brief error messages"); | |
415dddc8 | 189 | |
f2170041 AC |
190 | -- Line for -gnateG switch |
191 | ||
192 | Write_Switch_Char ("eG"); | |
193 | Write_Line ("Generate preprocessed source"); | |
194 | ||
6b6fcd3e AC |
195 | -- Line for -gnateI switch |
196 | ||
aa635439 | 197 | Write_Switch_Char ("eInn"); |
6b6fcd3e AC |
198 | Write_Line ("Index in multi-unit source, e.g. -gnateI2"); |
199 | ||
6510f4c9 GB |
200 | -- Line for -gnatem switch |
201 | ||
fbf5a39b AC |
202 | Write_Switch_Char ("em=?"); |
203 | Write_Line ("Specify mapping file, e.g. -gnatem=mapping"); | |
204 | ||
205 | -- Line for -gnatep switch | |
206 | ||
207 | Write_Switch_Char ("ep=?"); | |
208 | Write_Line ("Specify preprocessing data file, e.g. -gnatep=prep.data"); | |
6510f4c9 | 209 | |
6f12117a RD |
210 | -- Line for -gnateS switch |
211 | ||
212 | Write_Switch_Char ("eS"); | |
213 | Write_Line ("Generate SCO (Source Coverage Obligation) information"); | |
214 | ||
415dddc8 RK |
215 | -- Line for -gnatE switch |
216 | ||
217 | Write_Switch_Char ("E"); | |
218 | Write_Line ("Dynamic elaboration checking mode enabled"); | |
219 | ||
220 | -- Line for -gnatf switch | |
221 | ||
222 | Write_Switch_Char ("f"); | |
223 | Write_Line ("Full errors. Verbose details, all undefined references"); | |
224 | ||
225 | -- Line for -gnatF switch | |
226 | ||
227 | Write_Switch_Char ("F"); | |
228 | Write_Line ("Force all import/export external names to all uppercase"); | |
229 | ||
230 | -- Line for -gnatg switch | |
231 | ||
232 | Write_Switch_Char ("g"); | |
233 | Write_Line ("GNAT implementation mode (used for compiling GNAT units)"); | |
234 | ||
dcd8728b | 235 | -- Lines for -gnatG switch |
415dddc8 RK |
236 | |
237 | Write_Switch_Char ("G"); | |
dcd8728b RD |
238 | Write_Line ("Output generated expanded code (max line length = 72)"); |
239 | Write_Switch_Char ("Gnn"); | |
240 | Write_Line ("Output generated expanded code (max line length = nn)"); | |
415dddc8 RK |
241 | |
242 | -- Line for -gnath switch | |
243 | ||
244 | Write_Switch_Char ("h"); | |
245 | Write_Line ("Output this usage (help) information"); | |
246 | ||
247 | -- Line for -gnati switch | |
248 | ||
249 | Write_Switch_Char ("i?"); | |
07fc65c4 | 250 | Write_Line ("Identifier char set (?=1/2/3/4/5/8/9/p/f/n/w)"); |
415dddc8 | 251 | |
c690a2ec RD |
252 | -- Line for -gnatI switch |
253 | ||
254 | Write_Switch_Char ("I"); | |
255 | Write_Line ("Ignore all representation clauses"); | |
256 | ||
ba1cbfb9 RD |
257 | -- Line for -gnatj switch |
258 | ||
259 | Write_Switch_Char ("jnn"); | |
260 | Write_Line ("Format error and warning messages to fit nn character lines"); | |
261 | ||
415dddc8 RK |
262 | -- Line for -gnatk switch |
263 | ||
264 | Write_Switch_Char ("k"); | |
aa635439 | 265 | Write_Line ("Limit file names to nn characters (k = krunch)"); |
415dddc8 | 266 | |
ba1cbfb9 | 267 | -- Lines for -gnatl switch |
415dddc8 RK |
268 | |
269 | Write_Switch_Char ("l"); | |
270 | Write_Line ("Output full source listing with embedded error messages"); | |
ba1cbfb9 RD |
271 | Write_Switch_Char ("l=f"); |
272 | Write_Line ("Output full source listing to specified file"); | |
273 | ||
274 | -- Line for -gnatL switch | |
275 | ||
276 | Write_Switch_Char ("L"); | |
277 | Write_Line ("List corresponding source text in -gnatG or -gnatD output"); | |
415dddc8 | 278 | |
415dddc8 RK |
279 | -- Line for -gnatm switch |
280 | ||
aa635439 | 281 | Write_Switch_Char ("mnn"); |
923e6ff3 | 282 | Write_Line ("Limit number of detected errors/warnings to nn (1-999999)"); |
415dddc8 RK |
283 | |
284 | -- Line for -gnatn switch | |
285 | ||
286 | Write_Switch_Char ("n"); | |
718deaf1 | 287 | Write_Line ("Enable pragma Inline (both within and across units)"); |
415dddc8 RK |
288 | |
289 | -- Line for -gnatN switch | |
290 | ||
291 | Write_Switch_Char ("N"); | |
19f0526a | 292 | Write_Line ("Full (frontend) inlining of subprograms"); |
415dddc8 RK |
293 | |
294 | -- Line for -gnato switch | |
295 | ||
296 | Write_Switch_Char ("o"); | |
297 | Write_Line ("Enable overflow checking (off by default)"); | |
298 | ||
299 | -- Line for -gnatO switch | |
300 | ||
301 | Write_Switch_Char ("O nm "); | |
302 | Write_Line ("Set name of output ali file (internal switch)"); | |
303 | ||
304 | -- Line for -gnatp switch | |
305 | ||
306 | Write_Switch_Char ("p"); | |
307 | Write_Line ("Suppress all checks"); | |
308 | ||
309 | -- Line for -gnatP switch | |
310 | ||
311 | Write_Switch_Char ("P"); | |
312 | Write_Line ("Generate periodic calls to System.Polling.Poll"); | |
313 | ||
314 | -- Line for -gnatq switch | |
315 | ||
316 | Write_Switch_Char ("q"); | |
317 | Write_Line ("Don't quit, try semantics, even if parse errors"); | |
318 | ||
319 | -- Line for -gnatQ switch | |
320 | ||
321 | Write_Switch_Char ("Q"); | |
322 | Write_Line ("Don't quit, write ali/tree file even if compile errors"); | |
323 | ||
23e6615e RD |
324 | -- Line for -gnatr switch |
325 | ||
326 | Write_Switch_Char ("r"); | |
327 | Write_Line ("Treat pragma Restrictions as Restriction_Warnings"); | |
328 | ||
aa720a54 | 329 | -- Lines for -gnatR switch |
415dddc8 RK |
330 | |
331 | Write_Switch_Char ("R?"); | |
aa720a54 AC |
332 | Write_Line ("List rep info (?=0/1/2/3 for none/types/all/variable)"); |
333 | Write_Switch_Char ("R?s"); | |
334 | Write_Line ("List rep info to file.rep instead of standard output"); | |
415dddc8 RK |
335 | |
336 | -- Lines for -gnats switch | |
337 | ||
338 | Write_Switch_Char ("s"); | |
339 | Write_Line ("Syntax check only"); | |
340 | ||
9596236a AC |
341 | -- Lines for -gnatS switch |
342 | ||
343 | Write_Switch_Char ("S"); | |
344 | Write_Line ("Print listing of package Standard"); | |
345 | ||
415dddc8 RK |
346 | -- Lines for -gnatt switch |
347 | ||
348 | Write_Switch_Char ("t"); | |
349 | Write_Line ("Tree output file to be generated"); | |
350 | ||
351 | -- Line for -gnatT switch | |
352 | ||
aa635439 AC |
353 | Write_Switch_Char ("Tnn"); |
354 | Write_Line ("All compiler tables start at nn times usual starting size"); | |
415dddc8 RK |
355 | |
356 | -- Line for -gnatu switch | |
357 | ||
358 | Write_Switch_Char ("u"); | |
359 | Write_Line ("List units for this compilation"); | |
360 | ||
361 | -- Line for -gnatU switch | |
362 | ||
363 | Write_Switch_Char ("U"); | |
364 | Write_Line ("Enable unique tag for error messages"); | |
365 | ||
366 | -- Line for -gnatv switch | |
367 | ||
368 | Write_Switch_Char ("v"); | |
369 | Write_Line ("Verbose mode. Full error output with source lines to stdout"); | |
370 | ||
371 | -- Line for -gnatV switch | |
372 | ||
9a5621d7 | 373 | Write_Switch_Char ("Vxx"); |
415dddc8 | 374 | Write_Line |
9a5621d7 RD |
375 | ("Enable selected validity checking mode, xx = list of parameters:"); |
376 | Write_Line (" a turn on all validity checking options"); | |
07fc65c4 GB |
377 | Write_Line (" c turn on checking for copies"); |
378 | Write_Line (" C turn off checking for copies"); | |
379 | Write_Line (" d turn on default (RM) checking"); | |
380 | Write_Line (" D turn off default (RM) checking"); | |
ba1cbfb9 RD |
381 | Write_Line (" e turn on checking for elementary components"); |
382 | Write_Line (" E turn off checking for elementary components"); | |
07fc65c4 GB |
383 | Write_Line (" f turn on checking for floating-point"); |
384 | Write_Line (" F turn off checking for floating-point"); | |
385 | Write_Line (" i turn on checking for in params"); | |
386 | Write_Line (" I turn off checking for in params"); | |
387 | Write_Line (" m turn on checking for in out params"); | |
388 | Write_Line (" M turn off checking for in out params"); | |
389 | Write_Line (" o turn on checking for operators/attributes"); | |
390 | Write_Line (" O turn off checking for operators/attributes"); | |
fbf5a39b AC |
391 | Write_Line (" p turn on checking for parameters"); |
392 | Write_Line (" P turn off checking for parameters"); | |
07fc65c4 GB |
393 | Write_Line (" r turn on checking for returns"); |
394 | Write_Line (" R turn off checking for returns"); | |
395 | Write_Line (" s turn on checking for subscripts"); | |
396 | Write_Line (" S turn off checking for subscripts"); | |
397 | Write_Line (" t turn on checking for tests"); | |
398 | Write_Line (" T turn off checking for tests"); | |
9a5621d7 | 399 | Write_Line (" n turn off all validity checks (including RM)"); |
415dddc8 RK |
400 | |
401 | -- Lines for -gnatw switch | |
402 | ||
403 | Write_Switch_Char ("wxx"); | |
404 | Write_Line ("Enable selected warning modes, xx = list of parameters:"); | |
51bf9bdf | 405 | Write_Line (" a turn on all info/warnings marked below with +"); |
3acdda2d | 406 | Write_Line (" A turn off all optional info/warnings"); |
51bf9bdf | 407 | Write_Line (" .a*+ turn on warnings for failing assertion"); |
4ae23b62 | 408 | Write_Line (" .A turn off warnings for failing assertion"); |
51bf9bdf | 409 | Write_Line (" b+ turn on warnings for bad fixed value " & |
debe0ab6 RD |
410 | "(not multiple of small)"); |
411 | Write_Line (" B* turn off warnings for bad fixed value " & | |
412 | "(not multiple of small)"); | |
51bf9bdf | 413 | Write_Line (" .b*+ turn on warnings for biased representation"); |
4ae23b62 | 414 | Write_Line (" .B turn off warnings for biased representation"); |
51bf9bdf | 415 | Write_Line (" c+ turn on warnings for constant conditional"); |
fbf5a39b | 416 | Write_Line (" C* turn off warnings for constant conditional"); |
51bf9bdf | 417 | Write_Line (" .c+ turn on warnings for unrepped components"); |
8f7770f9 | 418 | Write_Line (" .C* turn off warnings for unrepped components"); |
fbf5a39b AC |
419 | Write_Line (" d turn on warnings for implicit dereference"); |
420 | Write_Line (" D* turn off warnings for implicit dereference"); | |
3acdda2d AC |
421 | Write_Line (" e treat all warnings (but not info) as errors"); |
422 | Write_Line (" .e turn on every optional info/warning " & | |
423 | "(no exceptions)"); | |
51bf9bdf | 424 | Write_Line (" f+ turn on warnings for unreferenced formal"); |
fbf5a39b | 425 | Write_Line (" F* turn off warnings for unreferenced formal"); |
51bf9bdf | 426 | Write_Line (" g*+ turn on warnings for unrecognized pragma"); |
fbf5a39b | 427 | Write_Line (" G turn off warnings for unrecognized pragma"); |
4ae23b62 | 428 | Write_Line (" h turn on warnings for hiding variable"); |
fbf5a39b | 429 | Write_Line (" H* turn off warnings for hiding variable"); |
9a1bc6d5 AC |
430 | Write_Line (" .h turn on warnings for holes in records"); |
431 | Write_Line (" .H* turn off warnings for holes in records"); | |
51bf9bdf | 432 | Write_Line (" i*+ turn on warnings for implementation unit"); |
fbf5a39b | 433 | Write_Line (" I turn off warnings for implementation unit"); |
4b2d2c13 AC |
434 | Write_Line (" .i turn on warnings for overlapping actuals"); |
435 | Write_Line (" .I* turn off warnings for overlapping actuals"); | |
51bf9bdf | 436 | Write_Line (" j+ turn on warnings for obsolescent " & |
fbf5a39b AC |
437 | "(annex J) feature"); |
438 | Write_Line (" J* turn off warnings for obsolescent " & | |
439 | "(annex J) feature"); | |
51bf9bdf | 440 | Write_Line (" k+ turn on warnings on constant variable"); |
fbf5a39b AC |
441 | Write_Line (" K* turn off warnings on constant variable"); |
442 | Write_Line (" l turn on warnings for missing " & | |
443 | "elaboration pragma"); | |
444 | Write_Line (" L* turn off warnings for missing " & | |
445 | "elaboration pragma"); | |
e606088a AC |
446 | Write_Line (" .l* turn on info messages for inherited aspects"); |
447 | Write_Line (" .L turn off info messages for inherited aspects"); | |
51bf9bdf | 448 | Write_Line (" m+ turn on warnings for variable assigned " & |
fbf5a39b AC |
449 | "but not read"); |
450 | Write_Line (" M* turn off warnings for variable assigned " & | |
451 | "but not read"); | |
79afa047 AC |
452 | Write_Line (" .m* turn on warnings for suspicious modulus value"); |
453 | Write_Line (" .M turn off warnings for suspicious modulus value"); | |
fbf5a39b AC |
454 | Write_Line (" n* normal warning mode (cancels -gnatws/-gnatwe)"); |
455 | Write_Line (" o* turn on warnings for address clause overlay"); | |
456 | Write_Line (" O turn off warnings for address clause overlay"); | |
36fcf362 | 457 | Write_Line (" .o turn on warnings for out parameters assigned " & |
67ce0d7e | 458 | "but not read"); |
36fcf362 | 459 | Write_Line (" .O* turn off warnings for out parameters assigned " & |
67ce0d7e | 460 | "but not read"); |
51bf9bdf | 461 | Write_Line (" p+ turn on warnings for ineffective pragma " & |
1a5f40e1 | 462 | "Inline in frontend"); |
8f7770f9 | 463 | Write_Line (" P* turn off warnings for ineffective pragma " & |
1a5f40e1 | 464 | "Inline in frontend"); |
51bf9bdf | 465 | Write_Line (" .p+ turn on warnings for suspicious parameter " & |
1a5f40e1 VC |
466 | "order"); |
467 | Write_Line (" .P* turn off warnings for suspicious parameter " & | |
468 | "order"); | |
51bf9bdf | 469 | Write_Line (" q*+ turn on warnings for questionable " & |
4ae23b62 | 470 | "missing parenthesis"); |
a9a5b8ac | 471 | Write_Line (" Q turn off warnings for questionable " & |
4ae23b62 | 472 | "missing parenthesis"); |
51bf9bdf | 473 | Write_Line (" r+ turn on warnings for redundant construct"); |
fbf5a39b | 474 | Write_Line (" R* turn off warnings for redundant construct"); |
51bf9bdf | 475 | Write_Line (" .r+ turn on warnings for object renaming function"); |
8f7770f9 | 476 | Write_Line (" .R* turn off warnings for object renaming function"); |
3acdda2d | 477 | Write_Line (" s suppress all info/warnings"); |
b3f48fd4 AC |
478 | Write_Line (" .s turn on warnings for overridden size clause"); |
479 | Write_Line (" .S* turn off warnings for overridden size clause"); | |
ba1cbfb9 RD |
480 | Write_Line (" t turn on warnings for tracking deleted code"); |
481 | Write_Line (" T* turn off warnings for tracking deleted code"); | |
51bf9bdf | 482 | Write_Line (" u+ turn on warnings for unused entity"); |
fbf5a39b | 483 | Write_Line (" U* turn off warnings for unused entity"); |
bd29d519 AC |
484 | Write_Line (" .u turn on warnings for unordered enumeration"); |
485 | Write_Line (" .U* turn off warnings for unordered enumeration"); | |
51bf9bdf | 486 | Write_Line (" v*+ turn on warnings for unassigned variable"); |
fbf5a39b | 487 | Write_Line (" V turn off warnings for unassigned variable"); |
51bf9bdf | 488 | Write_Line (" .v*+ turn on info messages for reverse bit order"); |
3acdda2d | 489 | Write_Line (" .V turn off info messages for reverse bit order"); |
51bf9bdf | 490 | Write_Line (" w*+ turn on warnings for wrong low bound assumption"); |
ba1cbfb9 RD |
491 | Write_Line (" W turn off warnings for wrong low bound " & |
492 | "assumption"); | |
da508766 | 493 | Write_Line (" .w turn on warnings on pragma Warnings Off"); |
fd22cd21 | 494 | Write_Line (" .W* turn off warnings on pragma Warnings Off"); |
51bf9bdf | 495 | Write_Line (" x*+ turn on warnings for export/import"); |
f81e6250 | 496 | Write_Line (" X turn off warnings for export/import"); |
51bf9bdf | 497 | Write_Line (" .x+ turn on warnings for non-local exception"); |
4ae23b62 | 498 | Write_Line (" .X* turn off warnings for non-local exception"); |
51bf9bdf | 499 | Write_Line (" y*+ turn on warnings for Ada 2005 incompatibility"); |
f81e6250 | 500 | Write_Line (" Y turn off warnings for Ada 2005 incompatibility"); |
51bf9bdf | 501 | Write_Line (" z*+ turn on warnings for suspicious " & |
382d35e0 RD |
502 | "unchecked conversion"); |
503 | Write_Line (" Z turn off warnings for suspicious " & | |
504 | "unchecked conversion"); | |
415dddc8 | 505 | Write_Line (" * indicates default in above list"); |
51bf9bdf | 506 | Write_Line (" + indicates warning flag included in -gnatwa"); |
415dddc8 RK |
507 | |
508 | -- Line for -gnatW switch | |
509 | ||
510 | Write_Switch_Char ("W"); | |
511 | Write_Str ("Wide character encoding method ("); | |
512 | ||
513 | for J in WC_Encoding_Method loop | |
514 | Write_Char (WC_Encoding_Letters (J)); | |
515 | ||
516 | if J = WC_Encoding_Method'Last then | |
517 | Write_Char (')'); | |
518 | else | |
519 | Write_Char ('/'); | |
520 | end if; | |
521 | end loop; | |
522 | ||
523 | Write_Eol; | |
524 | ||
525 | -- Line for -gnatx switch | |
526 | ||
527 | Write_Switch_Char ("x"); | |
528 | Write_Line ("Suppress output of cross-reference information"); | |
529 | ||
530 | -- Line for -gnatX switch | |
531 | ||
532 | Write_Switch_Char ("X"); | |
533 | Write_Line ("Language extensions permitted"); | |
534 | ||
535 | -- Lines for -gnaty switch | |
536 | ||
537 | Write_Switch_Char ("y"); | |
448f2610 | 538 | Write_Line ("Enable default style checks (same as -gnaty3abcefhiklmnprst)"); |
415dddc8 RK |
539 | Write_Switch_Char ("yxx"); |
540 | Write_Line ("Enable selected style checks xx = list of parameters:"); | |
541 | Write_Line (" 1-9 check indentation"); | |
542 | Write_Line (" a check attribute casing"); | |
a9a5b8ac | 543 | Write_Line (" A check array attribute indexes"); |
415dddc8 | 544 | Write_Line (" b check no blanks at end of lines"); |
a36c1c3e | 545 | Write_Line (" B check no use of AND/OR for boolean expressions"); |
415dddc8 | 546 | Write_Line (" c check comment format"); |
debe0ab6 | 547 | Write_Line (" d check no DOS line terminators"); |
415dddc8 RK |
548 | Write_Line (" e check end/exit labels present"); |
549 | Write_Line (" f check no form feeds/vertical tabs in source"); | |
8f7770f9 | 550 | Write_Line (" g check standard GNAT style rules"); |
415dddc8 RK |
551 | Write_Line (" h check no horizontal tabs in source"); |
552 | Write_Line (" i check if-then layout"); | |
4f73f89c | 553 | Write_Line (" I check mode in"); |
fbf5a39b | 554 | Write_Line (" k check casing rules for keywords"); |
415dddc8 | 555 | Write_Line (" l check reference manual layout"); |
aa635439 | 556 | Write_Line (" Lnn check max nest level < nn "); |
415dddc8 RK |
557 | Write_Line (" m check line length <= 79 characters"); |
558 | Write_Line (" n check casing of package Standard identifiers"); | |
c690a2ec | 559 | Write_Line (" Mnn check line length <= nn characters"); |
1a5f40e1 | 560 | Write_Line (" N turn off all checks"); |
415dddc8 | 561 | Write_Line (" o check subprogram bodies in alphabetical order"); |
ed57136d | 562 | Write_Line (" O check overriding indicators"); |
415dddc8 | 563 | Write_Line (" p check pragma casing"); |
fbf5a39b | 564 | Write_Line (" r check casing for identifier references"); |
415dddc8 | 565 | Write_Line (" s check separate subprogram specs present"); |
c690a2ec | 566 | Write_Line (" S check separate lines after THEN or ELSE"); |
415dddc8 | 567 | Write_Line (" t check token separation rules"); |
f81e6250 | 568 | Write_Line (" u check no unnecessary blank lines"); |
a9a5b8ac | 569 | Write_Line (" x check extra parentheses around conditionals"); |
1a5f40e1 VC |
570 | Write_Line (" y turn on default style checks"); |
571 | Write_Line (" - subtract (turn off) subsequent checks"); | |
572 | Write_Line (" + add (turn on) subsequent checks"); | |
415dddc8 | 573 | |
2e071734 AC |
574 | -- Lines for -gnatyN switch |
575 | ||
576 | Write_Switch_Char ("yN"); | |
577 | Write_Line ("Cancel all previously set style checks"); | |
578 | ||
c94a0b9d | 579 | -- Lines for -gnatzc switch |
415dddc8 | 580 | |
c94a0b9d AC |
581 | Write_Switch_Char ("zc"); |
582 | Write_Line ("Distribution stub generation for caller stubs"); | |
583 | ||
584 | -- Lines for -gnatzr switch | |
585 | ||
586 | Write_Switch_Char ("zr"); | |
587 | Write_Line ("Distribution stub generation for receiver stubs"); | |
415dddc8 | 588 | |
415dddc8 RK |
589 | -- Line for -gnat83 switch |
590 | ||
591 | Write_Switch_Char ("83"); | |
592 | Write_Line ("Enforce Ada 83 restrictions"); | |
593 | ||
728c3084 RD |
594 | -- Line for -gnat95 switch |
595 | ||
596 | Write_Switch_Char ("95"); | |
597 | ||
598 | if Ada_Version_Default = Ada_95 then | |
599 | Write_Line ("Ada 95 mode (default)"); | |
600 | else | |
601 | Write_Line ("Enforce Ada 95 restrictions"); | |
602 | end if; | |
603 | ||
448f2610 AC |
604 | -- Line for -gnat05 switch |
605 | ||
606 | Write_Switch_Char ("05"); | |
728c3084 | 607 | |
0791fbe9 | 608 | if Ada_Version_Default = Ada_2005 then |
728c3084 RD |
609 | Write_Line ("Ada 2005 mode (default)"); |
610 | else | |
0eed45bb AC |
611 | Write_Line ("Enforce Ada 2005 restrictions"); |
612 | end if; | |
613 | ||
614 | -- Line for -gnat12 switch | |
615 | ||
616 | Write_Switch_Char ("12"); | |
617 | ||
dbe945f1 | 618 | if Ada_Version_Default = Ada_2012 then |
0eed45bb AC |
619 | Write_Line ("Ada 2012 mode (default)"); |
620 | else | |
621 | Write_Line ("Allow Ada 2012 extensions"); | |
728c3084 | 622 | end if; |
448f2610 | 623 | |
3f165ff2 AC |
624 | -- Line for -gnat-p switch |
625 | ||
626 | Write_Switch_Char ("-p"); | |
627 | Write_Line ("Cancel effect of previous -gnatp switch"); | |
628 | ||
415dddc8 | 629 | end Usage; |