Mercurial > hg > CbC > CbC_gcc
comparison gcc/ada/debug.adb @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
4 -- -- | 4 -- -- |
5 -- D E B U G -- | 5 -- D E B U G -- |
6 -- -- | 6 -- -- |
7 -- B o d y -- | 7 -- B o d y -- |
8 -- -- | 8 -- -- |
9 -- Copyright (C) 1992-2018, Free Software Foundation, Inc. -- | 9 -- Copyright (C) 1992-2019, Free Software Foundation, Inc. -- |
10 -- -- | 10 -- -- |
11 -- GNAT is free software; you can redistribute it and/or modify it under -- | 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- -- | 12 -- terms of the GNU General Public License as published by the Free Soft- -- |
13 -- ware Foundation; either version 3, or (at your option) any later ver- -- | 13 -- ware Foundation; either version 3, or (at your option) any later ver- -- |
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- | 14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- |
126 -- d.F Debug mode for GNATprove | 126 -- d.F Debug mode for GNATprove |
127 -- d.G Ignore calls through generic formal parameters for elaboration | 127 -- d.G Ignore calls through generic formal parameters for elaboration |
128 -- d.H GNSA mode for ASIS | 128 -- d.H GNSA mode for ASIS |
129 -- d.I Do not ignore enum representation clauses in CodePeer mode | 129 -- d.I Do not ignore enum representation clauses in CodePeer mode |
130 -- d.J Relaxed rules for pragma No_Return | 130 -- d.J Relaxed rules for pragma No_Return |
131 -- d.K Enable generation of contract-only procedures in CodePeer mode | 131 -- d.K |
132 -- d.L Depend on back end for limited types in if and case expressions | 132 -- d.L Depend on back end for limited types in if and case expressions |
133 -- d.M Relaxed RM semantics | 133 -- d.M Relaxed RM semantics |
134 -- d.N Add node to all entities | 134 -- d.N Add node to all entities |
135 -- d.O Dump internal SCO tables | 135 -- d.O Dump internal SCO tables |
136 -- d.P Previous (non-optimized) handling of length comparisons | 136 -- d.P Previous (non-optimized) handling of length comparisons |
152 -- d_e Ignore entry calls and requeue statements for elaboration | 152 -- d_e Ignore entry calls and requeue statements for elaboration |
153 -- d_f Issue info messages related to GNATprove usage | 153 -- d_f Issue info messages related to GNATprove usage |
154 -- d_g | 154 -- d_g |
155 -- d_h | 155 -- d_h |
156 -- d_i Ignore activations and calls to instances for elaboration | 156 -- d_i Ignore activations and calls to instances for elaboration |
157 -- d_j | 157 -- d_j Read JSON files and populate Repinfo tables (opposite of -gnatRjs) |
158 -- d_k | 158 -- d_k |
159 -- d_l | 159 -- d_l |
160 -- d_m | 160 -- d_m |
161 -- d_n | 161 -- d_n |
162 -- d_o | 162 -- d_o |
175 -- d_A Stop generation of ALI file | 175 -- d_A Stop generation of ALI file |
176 -- d_B | 176 -- d_B |
177 -- d_C | 177 -- d_C |
178 -- d_D | 178 -- d_D |
179 -- d_E | 179 -- d_E |
180 -- d_F | 180 -- d_F Encode full invocation paths in ALI files |
181 -- d_G | 181 -- d_G |
182 -- d_H | 182 -- d_H |
183 -- d_I | 183 -- d_I |
184 -- d_J | 184 -- d_J |
185 -- d_K | 185 -- d_K (Reserved) Enable reporting a warning on known-problem issues |
186 -- d_L Output trace information on elaboration checking | 186 -- d_L Output trace information on elaboration checking |
187 -- d_M | 187 -- d_M |
188 -- d_N | 188 -- d_N |
189 -- d_O | 189 -- d_O |
190 -- d_P | 190 -- d_P |
191 -- d_Q | 191 -- d_Q |
192 -- d_R | 192 -- d_R |
193 -- d_S | 193 -- d_S |
194 -- d_T | 194 -- d_T Output trace information on invocation path recording |
195 -- d_U | 195 -- d_U |
196 -- d_V | 196 -- d_V |
197 -- d_W | 197 -- d_W |
198 -- d_X | 198 -- d_X |
199 -- d_Y | 199 -- d_Y |
256 -- dw | 256 -- dw |
257 -- dx Force binder to read xref information from ali files | 257 -- dx Force binder to read xref information from ali files |
258 -- dy | 258 -- dy |
259 -- dz | 259 -- dz |
260 | 260 |
261 -- dA | |
262 -- dB | |
263 -- dC | |
264 -- dD | |
265 -- dE | |
266 -- dF | |
267 -- dG | |
268 -- dH | |
269 -- dI | |
270 -- dJ | |
271 -- dK | |
272 -- dL | |
273 -- dM | |
274 -- dN | |
275 -- dO | |
276 -- dP | |
277 -- dQ | |
278 -- dR | |
279 -- dS | |
280 -- dT | |
281 -- dU | |
282 -- dV | |
283 -- dW | |
284 -- dX | |
285 -- dY | |
286 -- dZ | |
287 | |
288 -- d.a | |
289 -- d.b | |
290 -- d.c | |
291 -- d.d | |
292 -- d.e | |
293 -- d.f | |
294 -- d.g | |
295 -- d.h | |
296 -- d.i | |
297 -- d.j | |
298 -- d.k | |
299 -- d.l | |
300 -- d.m | |
301 -- d.n | |
302 -- d.o | |
303 -- d.p | |
304 -- d.q | |
305 -- d.r | |
306 -- d.s | |
307 -- d.t | |
308 -- d.u | |
309 -- d.v | |
310 -- d.w | |
311 -- d.x | |
312 -- d.y | |
313 -- d.z | |
314 | |
315 -- d.A | |
316 -- d.B | |
317 -- d.C | |
318 -- d.D | |
319 -- d.E | |
320 -- d.F | |
321 -- d.G | |
322 -- d.H | |
323 -- d.I | |
324 -- d.J | |
325 -- d.K | |
326 -- d.L | |
327 -- d.M | |
328 -- d.N | |
329 -- d.O | |
330 -- d.P | |
331 -- d.Q | |
332 -- d.R | |
333 -- d.S | |
334 -- d.T | |
335 -- d.U | |
336 -- d.V | |
337 -- d.W | |
338 -- d.X | |
339 -- d.Y | |
340 -- d.Z | |
341 | |
342 -- d.1 | |
343 -- d.2 | |
344 -- d.3 | |
345 -- d.4 | |
346 -- d.5 | |
347 -- d.6 | |
348 -- d.7 | |
349 -- d.8 | |
350 -- d.9 | |
351 | |
352 -- d_a Ignore the effects of pragma Elaborate_All | |
353 -- d_b Ignore the effects of pragma Elaborate_Body | |
354 -- d_c | |
355 -- d_d | |
356 -- d_e Ignore the effects of pragma Elaborate | |
357 -- d_f | |
358 -- d_g | |
359 -- d_h | |
360 -- d_i | |
361 -- d_j | |
362 -- d_k | |
363 -- d_l | |
364 -- d_m | |
365 -- d_n | |
366 -- d_o | |
367 -- d_p | |
368 -- d_q | |
369 -- d_r | |
370 -- d_s | |
371 -- d_t Output cycle-detection trace information | |
372 -- d_u | |
373 -- d_v | |
374 -- d_w | |
375 -- d_x | |
376 -- d_y | |
377 -- d_z | |
378 | |
379 -- d_A Output ALI invocation tables | |
380 -- d_B | |
381 -- d_C Diagnose all cycles | |
382 -- d_D | |
383 -- d_E | |
384 -- d_F | |
385 -- d_G | |
386 -- d_H | |
387 -- d_I Output invocation graph | |
388 -- d_J | |
389 -- d_K | |
390 -- d_L Output library graph | |
391 -- d_M | |
392 -- d_N | |
393 -- d_O | |
394 -- d_P Output cycle paths | |
395 -- d_Q | |
396 -- d_R | |
397 -- d_S Output elaboration-order status | |
398 -- d_T Output elaboration-order trace information | |
399 -- d_U | |
400 -- d_V Validate bindo cycles, graphs, and order | |
401 -- d_W | |
402 -- d_X | |
403 -- d_Y | |
404 -- d_Z | |
405 | |
406 -- d_1 | |
407 -- d_2 | |
408 -- d_3 | |
409 -- d_4 | |
410 -- d_5 | |
411 -- d_6 | |
412 -- d_7 | |
413 -- d_8 | |
414 -- d_9 | |
415 | |
261 -- Debug flags used in package Make and its clients (e.g. GNATMAKE) | 416 -- Debug flags used in package Make and its clients (e.g. GNATMAKE) |
262 | 417 |
263 -- da | 418 -- da |
264 -- db | 419 -- db |
265 -- dc | 420 -- dc |
445 -- general Elaborate_All is still required because of nested calls. | 600 -- general Elaborate_All is still required because of nested calls. |
446 | 601 |
447 -- dE Apply compile time elaboration checking for with relations between | 602 -- dE Apply compile time elaboration checking for with relations between |
448 -- predefined units. Normally no checks are made. | 603 -- predefined units. Normally no checks are made. |
449 | 604 |
450 -- dF Perform the new SPARK checking rules for pointer aliasing. This is | 605 -- dF Disable the new SPARK checking rules for pointer aliasing. This is |
451 -- only activated in GNATprove mode and on SPARK code. These rules are | 606 -- only activated as part of GNATprove mode and on SPARK code. Now |
452 -- not yet part of the official SPARK language, but are expected to be | 607 -- that pointer support is part of the official SPARK language, this |
453 -- included in a future version of SPARK. | 608 -- switch allows reverting to the previous version of GNATprove |
609 -- rejecting pointers. | |
454 | 610 |
455 -- dG Generate all warnings. Normally Errout suppresses warnings on | 611 -- dG Generate all warnings. Normally Errout suppresses warnings on |
456 -- units that are not part of the main extended source, and also | 612 -- units that are not part of the main extended source, and also |
457 -- suppresses warnings on instantiations in the main extended | 613 -- suppresses warnings on instantiations in the main extended |
458 -- source that duplicate warnings already posted on the template. | 614 -- source that duplicate warnings already posted on the template. |
748 -- d.J Relaxed rules for pragma No_Return. A pragma No_Return is illegal | 904 -- d.J Relaxed rules for pragma No_Return. A pragma No_Return is illegal |
749 -- if it applies to a body. This switch disables the legality check | 905 -- if it applies to a body. This switch disables the legality check |
750 -- for that. If the procedure does in fact return normally, execution | 906 -- for that. If the procedure does in fact return normally, execution |
751 -- is erroneous, and therefore unpredictable. | 907 -- is erroneous, and therefore unpredictable. |
752 | 908 |
753 -- d.K Enable generation of contract-only procedures in CodePeer mode and | |
754 -- report a warning on subprograms for which the contract-only body | |
755 -- cannot be built. Currently reported on subprograms defined in | |
756 -- nested package specs that have some formal (or return type) whose | |
757 -- type is a private type defined in some enclosing package and that | |
758 -- have pre/postconditions. | |
759 | |
760 -- d.L Normally the front end generates special expansion for conditional | 909 -- d.L Normally the front end generates special expansion for conditional |
761 -- expressions of a limited type. This debug flag removes this special | 910 -- expressions of a limited type. This debug flag removes this special |
762 -- case expansion, leaving it up to the back end to handle conditional | 911 -- case expansion, leaving it up to the back end to handle conditional |
763 -- expressions correctly. | 912 -- expressions correctly. |
764 | 913 |
838 | 987 |
839 -- d_i The compiler ignores calls and task activations when they target a | 988 -- d_i The compiler ignores calls and task activations when they target a |
840 -- subprogram or task type defined in an external instance for both | 989 -- subprogram or task type defined in an external instance for both |
841 -- the static and dynamic elaboration models. | 990 -- the static and dynamic elaboration models. |
842 | 991 |
992 -- d_j The compiler reads JSON files that would be generated by the same | |
993 -- compilation session if -gnatRjs was passed, in order to populate | |
994 -- the internal tables of the Repinfo unit from them. | |
995 | |
843 -- d_p The compiler ignores calls to subprograms which verify the run-time | 996 -- d_p The compiler ignores calls to subprograms which verify the run-time |
844 -- semantics of invariants and postconditions in both the static and | 997 -- semantics of invariants and postconditions in both the static and |
845 -- dynamic elaboration models. | 998 -- dynamic elaboration models. |
846 | 999 |
847 -- d_s The compiler stops the examination of a task body once it reaches | 1000 -- d_s The compiler stops the examination of a task body once it reaches |
848 -- a call to routine Ada.Synchronous_Task_Control.Suspend_Until_True | 1001 -- a call to routine Ada.Synchronous_Task_Control.Suspend_Until_True |
849 -- or Ada.Synchronous_Barriers.Wait_For_Release. | 1002 -- or Ada.Synchronous_Barriers.Wait_For_Release. |
850 | 1003 |
851 -- d_A Do not generate ALI files by setting Opt.Disable_ALI_File. | 1004 -- d_A Do not generate ALI files by setting Opt.Disable_ALI_File. |
1005 | |
1006 -- d_F The compiler encodes the full path from an invocation construct to | |
1007 -- an external target, offering additional information to GNATBIND for | |
1008 -- purposes of error diagnostics. | |
1009 | |
1010 -- d_K (Reserved) Enable reporting a warning on known-problem issues of | |
1011 -- previous releases. No action performed in the wavefront. | |
852 | 1012 |
853 -- d_L Output trace information on elaboration checking. This debug switch | 1013 -- d_L Output trace information on elaboration checking. This debug switch |
854 -- causes output to be generated showing each call or instantiation as | 1014 -- causes output to be generated showing each call or instantiation as |
855 -- it is checked, and the progress of the recursive trace through | 1015 -- it is checked, and the progress of the recursive trace through |
856 -- elaboration calls at compile time. | 1016 -- elaboration calls at compile time. |
1017 | |
1018 -- d_T The compiler outputs trance information to standard output whenever | |
1019 -- an invocation path is recorded. | |
857 | 1020 |
858 -- d1 Error messages have node numbers where possible. Normally error | 1021 -- d1 Error messages have node numbers where possible. Normally error |
859 -- messages have only source locations. This option is useful when | 1022 -- messages have only source locations. This option is useful when |
860 -- debugging errors caused by expanded code, where the source location | 1023 -- debugging errors caused by expanded code, where the source location |
861 -- does not give enough information. | 1024 -- does not give enough information. |
952 | 1115 |
953 -- de Similar to the effect of -e (output complete list of elaboration | 1116 -- de Similar to the effect of -e (output complete list of elaboration |
954 -- dependencies) except that internal units are included in the | 1117 -- dependencies) except that internal units are included in the |
955 -- listing. | 1118 -- listing. |
956 | 1119 |
957 -- di Normally gnatbind calls Read_Ali with Ignore_Errors set to | 1120 -- di Normally GNATBIND calls Read_Ali with Ignore_Errors set to False, |
958 -- False, since the binder really needs correct version ALI | 1121 -- since the binder really needs correct version ALI files to do its |
959 -- files to do its job. This debug flag causes Ignore_Errors | 1122 -- job. This debug flag causes Ignore_Errors mode to be set for the |
960 -- mode to be set for the binder (and is particularly useful | 1123 -- binder (and is particularly useful for testing ignore errors mode). |
961 -- for testing ignore errors mode). | |
962 | 1124 |
963 -- dn List details of manipulation of Num_Pred values during execution of | 1125 -- dn List details of manipulation of Num_Pred values during execution of |
964 -- the algorithm used to determine a correct order of elaboration. This | 1126 -- the algorithm used to determine a correct order of elaboration. This |
965 -- is useful in diagnosing any problems in its behavior. | 1127 -- is useful in diagnosing any problems in its behavior. |
966 | 1128 |
982 | 1144 |
983 -- dv Verbose debugging printouts | 1145 -- dv Verbose debugging printouts |
984 | 1146 |
985 -- dx Force the binder to read (and then ignore) the xref information | 1147 -- dx Force the binder to read (and then ignore) the xref information |
986 -- in ali files (used to check that read circuit is working OK). | 1148 -- in ali files (used to check that read circuit is working OK). |
1149 | |
1150 -- d_a GNATBIND ignores the effects of pragma Elaborate_All in the case of | |
1151 -- elaboration order and treats the associated dependency as a regular | |
1152 -- with edge. | |
1153 | |
1154 -- d_b GNATBIND ignores the effects of pragma Elaborate_Body in the case | |
1155 -- of elaboration order and treats the spec and body as decoupled. | |
1156 | |
1157 -- d_e GNATBIND ignores the effects of pragma Elaborate in the case of | |
1158 -- elaboration order and no longer creates an implicit dependency on | |
1159 -- the body of the argument. | |
1160 | |
1161 -- d_t GNATBIND output trace information of cycle-detection activities to | |
1162 -- standard output. | |
1163 | |
1164 -- d_A GNATBIND output the contents of all ALI invocation-related tables | |
1165 -- in textual format to standard output. | |
1166 | |
1167 -- d_C GNATBIND diagnoses all unique cycles within the bind, rather than | |
1168 -- just the most important one. | |
1169 | |
1170 -- d_I GNATBIND outputs the contents of the invocation graph in textual | |
1171 -- format to standard output. | |
1172 | |
1173 -- d_L GNATBIND outputs the contents of the library graph in textual | |
1174 -- format to standard output. | |
1175 | |
1176 -- d_P GNATBIND outputs the cycle paths to standard output | |
1177 | |
1178 -- d_S GNATBIND outputs trace information concerning the status of its | |
1179 -- various phases to standard output. | |
1180 | |
1181 -- d_T GNATBIND outputs trace information of elaboration order detection | |
1182 -- activities to standard output. | |
1183 | |
1184 -- d_V GNATBIND validates the invocation graph, library graph along with | |
1185 -- its cycles, and the elaboration order. | |
987 | 1186 |
988 -------------------------------------------- | 1187 -------------------------------------------- |
989 -- Documentation for gnatmake Debug Flags -- | 1188 -- Documentation for gnatmake Debug Flags -- |
990 -------------------------------------------- | 1189 -------------------------------------------- |
991 | 1190 |